LoginSignup
17
16

More than 5 years have passed since last update.

The innodb_system data file~でmacのmysqlが動かない場合の対処法

Last updated at Posted at 2016-01-28

まとめ

  • /usr/local/var/mysqlの所有権が自分になってしまっていないか
    • なっていたら所有権を変える
    • 消して入れ直しても所有権がおかしいのでhomebrewがおかしい状態?

発生した問題

homebrewで mysql: stable 5.7.10 をインストールしていましたが、気がついたらmysqlが起動しなくなっていました。

% mysql.server start
Starting MySQL
. ERROR! The server quit without updating PID file (/usr/local/var/mysql/PCNAME.local.pid).

原因調査

/usr/local/var/mysql/PCNAME.local.errの最後のほうを見てみると、以下のようなエラーが出ていました。

2015-12-20T13:26:05.997337Z 0 [Note] InnoDB: Uses event mutexes
2015-12-20T13:26:05.997344Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2015-12-20T13:26:05.997350Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2015-12-20T13:26:05.997639Z 0 [Note] InnoDB: Number of pools: 1
2015-12-20T13:26:05.997808Z 0 [Note] InnoDB: Using CPU crc32 instructions
2015-12-20T13:26:06.085311Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2015-12-20T13:26:06.102112Z 0 [Note] InnoDB: Completed initialization of buffer pool
2015-12-20T13:26:06.119514Z 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
2015-12-20T13:26:06.119558Z 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
2015-12-20T13:26:06.119587Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2015-12-20T13:26:06.428463Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2015-12-20T13:26:06.428500Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2015-12-20T13:26:06.428511Z 0 [ERROR] Failed to initialize plugins.
2015-12-20T13:26:06.428517Z 0 [ERROR] Aborting

Errorとして、

The innodb_system data file 'ibdata1' must be writable

と出ていることから、対象のファイルのアクセス権が問題のようです。

解決方法

該当ファイルがある/usr/local/var/mysql/を確認したところ、
ほぼ全てのファイルの所有権が ログインユーザ:admin になっていたため、

sudo chown -R _mysql /usr/local/var/mysql
sudo chmod -R o+rwx /usr/local/var/mysql

を実行することで問題なく起動するようになりました。

補足

問題を解決する過程で一度mysqlをアンインストールし、
かつ/usr/local/var/msylqをフォルダごと消して再インストールしたにも関わらず、このエラーが解決しなかったため、
もしかしたら今のhomebrewが設定する所有権がおかしい状態なのかもしれません。

17
16
1

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
17
16