0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MySQLが起動しないのを解決したメモ【mac/brew】

Posted at

brewでインストールしたmysqlが起動しなくなってしまいました。
調べて上位に出てくる方法では解決できなかったのでメモしておきます。

TL;DR

アップグレードに失敗していたので、下記で解消

mysqld --upgrade=MINIMAL

前提

$ mysql -V
mysql  Ver 8.0.31 for macos13.0 on arm64 (Homebrew)

状況

mysql -u rootすると、

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

sudo mysql.server startすると、

ERROR! The server quit without updating PID file

と言われた。
ps aux | grep mysqlすると、そもそも起動していない様子

思い当たること

brew upgradeした

試したけどダメだったこと

/tmp/mysql.sockを作る

sudo touch /tmp/mysql.sock

PIDファイルを作る

touch /opt/homebrew/var/mysql/***.local.pid

PIDファイルの所有権を変える

sudo chown -R _mysql:_mysql /opt/homebrew/var/mysql/

エラー内容で検索すると出てくるのはこの辺りかな、と思います

解決策

ちゃんとエラーを見てみます

less /opt/homebrew/var/mysql/***.local.err
2023-01-12T13:10:56.863867Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /opt/homebrew/var/mysql/ is case insensitive
2023-01-12T13:10:57.087353Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-01-12T13:11:44.613924Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-01-12T13:11:48.080019Z 4 [System] [MY-013381] [Server] Server upgrade from '80030' to '80031' started.
2023-01-12T13:12:13.662641Z 4 [ERROR] [MY-013178] [Server] Execution of server-side SQL statement 'INSERT IGNORE INTO mysql.db VALUES ('localhost', 'performance_schema', 'mysql.session','Y','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N'); ' failed with error code = 1136, error message = 'Column count doesn't match value count at row 1'.
2023-01-12T13:12:13.664626Z 0 [ERROR] [MY-013380] [Server] Failed to upgrade server.
2023-01-12T13:12:13.664640Z 0 [ERROR] [MY-010119] [Server] Aborting

アップグレードしようとして、何やら失敗しているようです

一旦アップグレードせずに起動する方法を探したところ、下記で不要なパフォーマンススキーマのアップグレードを回避できそうです
参考:https://dev.mysql.com/doc/refman/8.0/ja/upgrading-what-is-upgraded.html

mysqld --upgrade=MINIMAL

一度上記コマンドで実行したところ、その後は普通にmysql -u rootでアクセスできるようになりました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?