web-dev-qa-db-ja.com

部分的なinnobackupexバックアップから復元した後にperformance_schemaを回復する方法は?

マスターサーバーから部分バックアップを取得しています。マスターサーバーは、将来のスレーブサーバーに復元する必要があります。必要なのは、データベースの1つとmysqlデータベースだけです。

https://www.percona.com/doc/percona-xtrabackup/2.2/innobackupex/partial_backups_innobackupex.html の指示に従っています

私が使用しているコマンドは次のようになります。

innobackupex --user=<the_user> --password --databases="<database_name> mysql" --slave-info /path/backup

Prepareコマンドは次のようになります。

innobackupex --apply-log --export /path/backup

そして私は

準備したバックアップを「クリーンな」datadirにコピーバックします(その場合は、必ずmysqlデータベースを含めてください)。

MySQLは正常に起動しますが、performance_schemaがなく、多くの

588 [エラー]ネイティブテーブル 'performance_schema'。 ''の構造が間違っています

そのエラーログに。

これが発生する理由と、performance_schemaを元に戻す方法はありますか?

1
Ana C.

このソリューションでは、復元されたサーバーでmysql_upgradeを実行する必要があります。 https://dev.mysql.com/doc/refman/5.5/en/performance-schema-build-configuration.html のドキュメントによると

パフォーマンススキーマなしで(または現在のテーブルがすべて含まれていない可能性がある古いバージョンのパフォーマンススキーマで)構成された以前のインストールの上にMySQLをインストールする場合は、サーバーの起動後にmysql_upgradeを実行して、performance_schemaデータベースがすべて現在のテーブル。次に、サーバーを再起動します。

3
Ana C.