MariaDB5.5系からMariaDB10系に移行したDBでエクスポートするとエラー
MariaDB5.5系からMariaDB10系に移行したDBでエクスポートすると下記のエラー
$ mysqldump -u root -p --all-databases > /var/tmp/dump.db mysqldump: Got error: 1932: "Table 'mysql.innodb_index_stats' doesn't exist in engine" when using LOCK TABLES
MariaDB 10.x では、mysql.innodb_index_stats テーブル等のテーブルへの DDL 操作が廃止されたので、mysqldump はこれらのテーブルの定義情報を取得しなくなりましたのでエラーとなります。
該当するテーブルを削除しようとするとエラーとなってので、該当のテーブルのファイル自体を削除することにします
# MariaDBを停止します $ sudo systemctl stop mariadb # mysqlのディレクトリに移動します $ sudo cd /var/lib/mysql/mysql # 上記のエラー以外にもエラーが上がったので、MariaDB10系から使っていないテーブルを違うディレクトリに移動 # mv innodb_index_stats.* /var/tmp/ # mv innodb_table_stats.* /var/tmp/ # mv transaction_registry.* /var/tmp/
ファイルを違うディレクトリに移動したらMariaDBを起動します
$ sudo systemctl start mariadb
上記の対応でDBのエクスポートが出来るようになりました
ディスカッション
コメント一覧
まだ、コメントがありません