MySQL:データベースをコピーしたら、サーバーが起動しない

現在、Webサーバーを新しくしようと、FreeBSD 10.4を準備中。10.4で運用するかどうかは別として、WordPress の実行環境が MySQLとPHP環境を新しくした条件で動作確認をしておきたいと考えて、運用中のサーバーから、mysqlデータベースを新マシンにまるまるコピーしてきました。

MySQLは 5.6→5.7へ、PHPは7.1で動かしてみようと思っています。PHPに関してはPHP5系が消滅し、PHP7系が標準になってしまったので、PHP5系を使うという選択肢は無くなっています。

途中まで環境を構築できたので、さっそく MySQLとApacheを接続して動作確認しようとしたところ、Webページが出て来ません。
psコマンドで確認したところ、mysqlが起動していなようです。そりゃ、コマンドを受け付けませんわ。
起動スイッチをNoにしたままなんだろうと思って、/etc/rc.conf を確認してみると、

mysql_enable="YES"

と自動起動に設定されています。

手動で、

service mysql-server start

とたたき、起動を試みてもコマンドプロンプトが戻ってくるだけで、画面にエラーなし。しかし、起動してない!
あれあれ?と /var/db/mysql 下の hostname.err ファイルを開いてみると次のメッセージが残っていました。

2019-01-05T08:18:15.514834Z 0 [ERROR] InnoDB: The Auto-extending innodb_system data file
 '/var/db/mysql/ibdata1' is of a different size 1152 pages (rounded down to MB) than
 specified in the .cnf file: initial 8192 pages, max 0 (relevant if non-zero) pages!
2019-01-05T08:18:15.515066Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2019-01-05T08:18:15.846344Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2019-01-05T08:18:15.846425Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2019-01-05T08:18:15.846460Z 0 [ERROR] Failed to initialize builtin plugins.
2019-01-05T08:18:15.846486Z 0 [ERROR] Aborting

2019-01-05T08:18:15.846517Z 0 [Note] Binlog end
2019-01-05T08:18:15.855528Z 0 [Note] Shutting down plugin 'CSV'
2019-01-05T08:18:15.861003Z 0 [Note] /usr/local/libexec/mysqld: Shutdown complete

私はデータベースは専門じゃないので、Web検索してみるとヒントが見つかりました。感謝。

https://gist.github.com/koudaiii/abd4e613cb42d856ecae

ハードウェア動作環境が異なるのに、データベースまるまるコピーしてきて、ログを含めてそのまま動かそうとしたのが悪かったようで、MySQLが管理用に自動生成する ib_xxxx や ibxxxx ファイルを全部消してみるとよさそうです。

ファイル名が ib で始まるファイルを全部消して mysql を起動してみたところ、無事にmysqlサーバーが起動しました。ib_logfile0 のファイルサイズは256MBを越えて再生成されていました。

これでWordPressが動くかと思ったら、まだ Apacheとの接続がうまく行きません。

次のトラブルに続く。

コメントを残す