WSLのununtuのMySQLで「ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (13)」

症状

WLS2上のubuntuにMySQLを入れて、
「mysql -u <user name> -p」したら、「ERROR 2002 (HY000): Can’t connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock’ (13)」が発生。

「sudo mysql -u <user name> -p」は正常にログイン。

まだ、原因の切り分けはしていないが、とりあえずやったことのメモをしておきます。

mysqld.sockのアクセス権変更

$ sudo ls -l /var/run/mysqld/mysqld.sock        #アクセス権の確認
$ sudo chmod 777 /var/run/mysqld/mysqld.sock    # ソケットファイルのアクセス権変更
$ sudo chmod 755 /var/run/mysqld                # ディレクトリのアクセス権変更

my.cnfを変更

$ sudo nano /etc/mysql/my.cnf

以下の内容を追記。

[mysqld]
socket=/var/run/mysqld/mysqld.sock

[client]
socket=/var/run/mysqld/mysqld.sock

MySQLの設定変更

USE mysql
ALTER USER '<user'@'localhost>' IDENTIFIED WITH mysql_native_password BY '<password>';
FLUSH PRIVILEGES;

MySQL再移動

$ sudo service mysql restart

まとめ

以上の作業で、「mysql -u <user name> -p」でログインできました。