前言
由于 wsl2 展现出了一定的优势,我决定尝试将开发环境从 VMware + Ubuntu 桌面转向 wsl ubuntu 24.04 安装服务,同时直接在 windows 桌面进行开发。
安装好 wsl2 之后,第一步我需要安装一些基础服务,主要就是 Nginx 和 MySQL,Nginx 安装很顺利,但是我在安装 MySQL 的时候遇到了一些麻烦。
由于原本安装在 VMware 里面的实例使用的是 MySQL 8.4 版本,所以我希望也安装 8.4 的版本。
下面仅记录我最后摸索成功的安装过程,错误部分的尝试就不记录了。
鸣谢:ChatGPT 老师
0x00. 官方安装指引
参考官方文档:dev.mysql.com/doc/refman/…
不用照着官方文档做,按我说的做就可以:
下载配置 deb 文件(版本基于 2024-10-21,新鲜的版本请实时确认)
wget https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
安装之
sudo dpkg -i mysql-apt-config_0.8.33-1_all.deb
然后选择 mysql-8.4-lts
,OK 退出。
APT 更新,安装
sudo apt update
sudo apt install mysql-server
0x01. 手动配置服务
以上,一切顺利的话应该是安装成功的,但是 service mysql restart
的时候就懵逼了,没有服务:
mysql: unrecognized service
没有服务的启动方法
sudo /etc/init.d/mysql start
这样能启动成功,说明安装还是好的,继续往后搞。
错误情况下的重新配置
但是如果出了什么岔子,需要重新刷掉数据重新配置,需要这样搞:
!!! WARNING !!! 注意这样会全部删库重置数据,执行前请明确知道你自己在干什么。
rm -rf /var/lib/mysql
sudo mysqld --initialize --user=mysql --datadir=/var/lib/mysql
这个时候会把默认 root 密码打出来,小本本记一下。
手动启动 mysqld,并设置 root 密码为 root
启动 mysqld
sudo /usr/sbin/mysqld --datadir=/var/lib/mysql --user=mysql --daemonize
启动初始设置
sudo mysql_secure_installation
下面的脚本即可重设 root 用户的配置。
手动配置服务
由于服务不存在,这个时候得自己手动把服务配置上去,编辑 /etc/systemd/system/mysql.service
:
[Unit]
Description=MySQL Community Server
After=network.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/sbin/mysqld
ExecStop=/usr/bin/mysqladmin shutdown
LimitNOFILE=5000
[Install]
WantedBy=multi-user.target
配置当前用户免密码
编辑 ~/.my/cnf
[client]
user=root
password=root
然后直接 mysql 应该就提示不需要密码了。
服务自启动设置
systemctl enable mysql
# 查看自启动情况
systemctl list-unit-files --type=service | grep enabled