WSL 安装MySQL8.0失败(mysql: unrecognized service)
安装完成不能启动服务
sudo -i wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
sudo dpkg -i ./mysql-apt-config_0.8.15-1_all.deb
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mysql-server
# service mysql start
mysql: unrecognized service
解决方案
Direct installation of MySQL 8.x will not work on WSL, even after your have selected 8.x as the default install candidate. It has problem starting the server.
Steps below should work (tried out on few WSL instances):
1. Remove MySQL 8.x:
sudo apt-get purge mysql-server mysql-client
sudo apt-get -y autoremove
2. Change to MySQL 5.x candidate:
sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
(if you don't have it, wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb)
3. Double check current apt policy of MySQL is 5.x:
sudo apt policy mysql-server (it will show 5.x is the default candidate)
sudo apt-get update
4. Install MySQL 5.x
sudo apt-get -y install mysql-server
sudo service mysql start (this should work without error)
5. Change to MySQL 8.x candidate
sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb (select 8.x)
sudo apt policy mysql-server (it will show 8.x is the default candidate)
sudo apt-get update
6. Install MySQL 8.x
sudo apt-get -y install mysql-server
7. Modify a script as there is a bug
sudo vi /etc/init.d/mysql
(search for a line ". /usr/share/mysql/mysql-helpers" and change it to
". /usr/share/mysql-8.0/mysql-helpers")
8. Upgrade system tables to MySQL 8.x
sudo service mysql start (this should start without error)
sudo mysql_upgrade -u root -p
Hope this also works for you!