WSL(Windows Subsystem for Linux)が原因ではないと思うのですが、しばらく前から僕の環境で、WSL上のUbuntu 16.04で何かをインストールしようとするとmysql-server-5.7のエラーが出るようになっていました:
mysql-server-5.7 : Depends: mysql-server-core-5.7 (= 5.7.25-0ubuntu0.16.04.2) but it is not going to be installed
そうかmysql-server-5.7がインストールされてないんだな、と sudo apt install mysql-server-5.7 を実行すると下記エラー
mysql_upgrade: Got error: 2002: Can't connect to local MySQL server through socket '/var/r
un/mysqld/mysqld.sock' (2) while connecting to the MySQL server
Upgrade process encountered error and will not continue.
mysql_upgrade failed with exit status 11
dpkg: error processing package mysql-server-5.7 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
mysql-server-5.7
E: Sub-process /usr/bin/dpkg returned an error code (1)
アップグレードするんで既存のmysqlを停止したいけどソケットありませんわ なんとかしてんか、ということらしい。
で、手動でrestartしてみようと思うと /etc/init.d/mysqld が無い。なにかの表紙でソフトウェアはアンインストールしたけどリストには残ってしまっているということなのかな。
ということで下記コマンドを実行してKotonakiをget:
sudo dpkg --remove --force-remove-reinstreq mysql-server-5.7
sudo apt update
今回のエラーが出る要因はいくつか考えられるけど、僕のケースでは3番目だったようだ:
- mysql-serverが起動してないのに起動していることになっている
- socketの場所が見つけられない
- mysql-serverが無いのに有ることになっている
コメント