WSL で CentOS7 をインストールします。
下記記事の手順でインストールしてください。
MySQLをインストールします。
CentOS 7 はデフォルトではyumのリポジトリにMySQLがないので、リポジトリを追加します
https://dev.mysql.com/downloads/repo/yum/ の Red Hat Enterprise Linux 7 / Oracle Linux 7 の箇所から、rpmファイルをダウンロードします。
2020.8.22時点では、mysql80-community-release-el7-3.noarch.rpm です。
次のコマンドを実行して、MySQLのリポジトリを追加した後、MySQLをインストールします。
yum localinstall http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm yum install mysql mysql-server
MySQLでアクセスするディレクトリを用意します。
mkdir -p /var/run/mysqld chown mysql:mysql /var/run/mysqld
この後の手順で systemctl を使用しますが、 WSL 上では実行できません。
そこで、systemctl と同等の機能を持ったスクリプトを入手して、systemctlとして実行できるようにします。
mv /usr/bin/systemctl /usr/bin/systemctl.old curl https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl.py > /usr/bin/systemctl chmod +x /usr/bin/systemctl
MySQL の rootパスワード変更します。
–skip-grant-tablesオプションで mysqld を起動後、パスワード変更します。
MYSQLD_OPTS="--skip-grant-tables" systemctl start mysqld mysql -u root
MySQL上で次を実行し、root のパスワード変更します。
XXXXXX にパスワードを記述してください。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'XXXXXX';
MySQLを再起動します。
systemctl restart mysqld
これで、WSL の CentOS7 で MySQL を実行できます。
なお、mysqld は Windows起動時に自動起動しないので、都度、systemctl start mysqld を実行してください。
参考
CentOS 7にMySQLをインストールして初期設定するまで – Qiita
WSL(CentOS7)でsystemctlを実行するとFailed to get D-Bus connection: Operation not permittedになる – Qiita
CentOS7でMySQLにログインできない | ハックノート
MySQL8.0のrootパスワード変更 – Qiita
コメント