LoginSignup
1
1

More than 1 year has passed since last update.

MySQLのdumpをレストアする際に "ERROR 1050 (42S01) at line 1596: Table 'user' already exists" と出てきてしまうときの対処法

Last updated at Posted at 2021-12-28

背景

10.6.5-MariaDB にて、データベースの移動を--all-databasesで行っていた時に出たエラーの対処方法

mysqldump -u root -p --all-databases > all-databases.sql

mysql -u root -p < all-databases.sql

以下のエラーが発生
ERROR 1050 (42S01) at line 1596: Table 'user' already exists

原因

これはmysql.userテーブルがMariaDB 10.4でビューに変更されたことと関係があるようで
MDEV-22127 に具体的な問題・解決策についてのドキュメントがあります。

解決策

all-databases.sqlのDumpファイルの先頭に以下の2行を追加することで解決しました。
また、schema以外のデータベースのみをDumpすることでも回避できます。

DROP TABLE IF EXISTS `mysql`.`global_priv`;
DROP VIEW IF EXISTS `mysql`.`user`;
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1