mysql_upgrade

MySQL系のデータベースサーバーソフトをアップデートしたら、行わなくてはならないのが
mysql_upgrade

MySQL、MariaDB、PerconaServer

起動されている状態で
「mysql_upgrade -u root -p」と入力して実行し、パスワードを入力すると処理が開始されます。

大抵は、数秒で完了します。

何が行われるのかというと
テーブルのチェックと、アップグレードが行われます。

問題が検出された場合は、テーブルの修復されます。

ただし、バージョンが古いのを新しいのにアップデートした時に
データベースサーバー自体が起動出来ないことがあります。

[ERROR] Fatal error: mysql.user table is damaged. Please run mysql_upgrade.
[ERROR] Aborting

MySQL 5.1 -> 5.7 とか

ユーザーテーブルの形式が変わって、起動エラーになったりしますが

セーフモードで起動し
/usr/bin/mysqld_safe –skip-grant-tables &

テーブルをアップグレードします。
mysql_upgrade -u root -p

Upgrade process completed successfully.
Checking if update is needed.

MySQL5.6以降は、TIMESTAMP型を使用すること非推奨になっているので
以下の設定をしないとWARNINGが発生する。

/etc/my.cnf
[mysqld]
explicit_defaults_for_timestamp = true

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください