WSLでMySQLで色々やってたらMySQLを起動できなくなった

MySQLをdockerのコンテナからアクセスしようとして、色々やってMySQLを再起動したら起動しなくなった。
とりあえずlogを見ることを学んだ。

$ service mysql start
 * Starting MySQL database server mysqld
su: Authentication failure
$ tail /var/log/mysql/error.log
...
[System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.30-0ubuntu0.20.04.2) starting as process 9840
mysqld: File './binlog.index' not found (OS errno 13 - Permission denied)
...

っていうのが見つかったので、ググったらMySQLにroot権限付けて入れるように設定変更しろと言われたので、↓のやり方でやってみた。

stackoverflow.com

そうしたら別のエラーが出た。

$ sudo service mysql start
 * Starting MySQL database server mysqld
$ tail /var/log/mysql/error.log
 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
 [ERROR] [MY-010262] [Server] Can't start server: Bind on TCP/IP port: Address already in use
 [ERROR] [MY-010257] [Server] Do you already have another mysqld server running on port: 3306 ?

別のポート見に行ってんじゃねえのって言われた。

# 解決した

www.web-dev-qa-db-ja.com

/var/lib/mysqlのパミッションの問題だった。

chown -R mysql.mysql /var/lib/mysql