【さくらvps】ibdata1 is of a different size でmysqlが起動できない

この記事について

環境さくらVPS + mysql 5.1→5.6
目的アップデート後に起動しなくなった mysql を復旧する
結果ib_logfile・ibdata1 を削除して起動。その後の Missing system table は mysql_upgrade で解消

つまずきポイント要約

  • ib_logfile・ibdata1 の削除は InnoDB のデータに関わるので、実施前にバックアップを取ること
  • 起動後に出る「Missing system table」は mysql_upgrade -u root -p を実行する

mysql をインストールしていない状態から mysql5.6 をインストールする場合はこちらを参考にする

事象

mysql を 5.1 から 5.6 に update した際、 mysql が起動できなくなった。

起動に失敗

/etc/init.d/mysqld start
MySQL Daemon failed to start.
Starting mysqld:  [FAILED]

cat /var/log/mysqld.log

エラーログの内容

[ERROR] InnoDB: auto-extending data file ./ibdata1 is of a different size 640 pages (rounded down to MB) than specified in the .cnf file: initial 768 pages, max 0 (relevant if non-zero) pages!

原因と対処:ibdata1 関連ファイルを削除

これは設定変更後 ibdata1 のファイルサイズが違うため起きるエラーのよう。なので ibdata1 関連のファイルを削除する

my.cnf でデータの保存先を確認

cat /etc/my.cnf

my.cnf で確認したデータのある場所

datadir=/var/lib/mysql

データのある mysql ディレクトリに移動し、問題のファイルがあることを確認

cd /var/lib/mysql
ls
ib_logfile0  ib_logfile1  ibdata1  mysql

すべて削除

rm -rf ib_logfile0
rm -rf ib_logfile1
rm -rf ibdata1

再起動できた

/etc/init.d/mysql start
Starting mysqld:  [  OK  ]

ファイル削除の参考my.cnfでinnodb関連の設定後、MySQLが起動しなくなった

新たなエラーは mysql_upgrade で解消

しかし新たなるエラーが発生

エラーログの内容

[ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it

このあとにもたくさんのエラーが続く

please run mysql_upgrade to create it という内容なので update を実行

mysql_upgrade -u root -p

エラーが出なくなった

タイトルとURLをコピーしました