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権限付けて入れるように設定変更しろと言われたので、↓のやり方でやってみた。
そうしたら別のエラーが出た。
$ 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 ?
別のポート見に行ってんじゃねえのって言われた。
# 解決した
/var/lib/mysqlのパミッションの問題だった。
chown -R mysql.mysql /var/lib/mysql