Skip to content

Instantly share code, notes, and snippets.

@taiar
Created April 27, 2020 12:09
Show Gist options
  • Save taiar/4ec36bb438f68632789403a6cffb7a99 to your computer and use it in GitHub Desktop.
Save taiar/4ec36bb438f68632789403a6cffb7a99 to your computer and use it in GitHub Desktop.
MySQL on WSL

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!

Taken from here: microsoft/WSL#3631 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment