win11结合wsl2搭建开发环境之七:编译安装mysql8.4
安装准备
curl -O http://launchpadlibrarian.net/646633572/libaio1_0.3.113-4_amd64.deb
dpkg -i libaio1_0.3.113-4_amd64.deb
apt install libaio-dev
下载mysql
wget https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.5-linux-glibc2.28-x86_64.tar.xz
创建用户组
groupadd mysql
useradd -g mysql mysql
解压安装
xz -dcv mysql-8.4.5-linux-glibc2.28-x86_64.tar.xz | tar x -C /usr/local/
cd /usr/local
mv mysql-8.4.5-linux-glibc2.28-x86_64 mysql
# 数据目录
mkdir -p /opt/mysql/data
# 日志放到宿主机
mkdir -p /mnt/d/log/mysql
cd /usr/local/mysql
mkdir mysql-files
chmod 750 mysql-files
chown mysql:mysql -R /usr/local/mysql
chown mysql:mysql /opt/mysql/data
# 初始化数据库,注意,root的密码会在下面的命令输出中显示
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/opt/mysql/data
修改配置
vim /etc/mysql/my.cnf
内容如下
[mysqld_safe]
# 错误日志的存放位置。
log_error = /mnt/d/log/mysql/error.log
[mysqld]
# mysql 的运行用户 这里的用户一定要和初始化时的用户一致
user = mysql
# 指定 MySQL 服务监听的端口为 3306
port = 3306
# 指定 MySQL 的安装目录
basedir = /usr/local/mysql
# 指定数据文件的存储位置。
datadir = /opt/mysql/data
# 日志目录
log_error = /mnt/d/log/mysql/error.log
# 设置SQL 模式
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
通过systemctl启动mysql
vim /etc/systemd/system/mysql.service
内容如下
[Unit]
Description=MySQL Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/mysql/my.cnf
User=mysql
Group=mysql
TimeoutSec=300
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重新加载systemctl配置
systemctl daemon-reload
验证是否正常支行
systemctl stop mysql
systemctl start mysql
systemctl restart mysql
systemctl status mysql
# 应显示 Active: active (running)
开机自启
systemctl enable mysql
修改默认密码
# 回车后输入刚刚日志中的默认密码
/usr/local/mysql/bin/mysql -h 127.0.0.1 -p
修改密码
# 执行SQL 修改密码 BY 'root'; 这里就是设置的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
设置远程访问
use mysql;
select host, user from user;
update user set host = '%' where user='root';
flush privileges;

浙公网安备 33010602011771号