LoginSignup
0
0

More than 5 years have passed since last update.

【MySQL】DBのダンプとリストア時にはまった

Posted at

はじめに

MySQLのDBの複製を作りたくて、ダンプとリストアを実施した際に
はまったことのメモです。

ダンプとリストアは以下のサイトを参考に実施しました。
http://blog.flatlabs.net/20100420_061602/

DBのダンプ

まずはDBのダンプを取得します。
以下のコマンドを実行すると/root直下にdbdump.sqlが作成されます。

console
# mysqldump -A -u user -p > dbdump.sql

DBのリストア

次にDBのリストアをするのですが、今回は複製がしたいので
別途データベースを作成し、そこにリストアします。

console
# mysql -u user -p
Enter password:
...
mysql> CREATE DATABASE `database`;
ERROR 1044 (42000): Access denied for user 'user'@'localhost' to database 'database'

ここでERROR 1044...
よくよく調べてみたところ、'user'@'localhost'
CREATE DATABSEの権限が付与されていなかったみたいです。

無理やり権限を付けました。

console
mysql>GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' WITH GRANT OPTION;
mysql> show grants for user@localhost;
+---------------------------------------------------------------------+
| Grants for user@localhost                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
1 row in set (0.00 sec)

権限が付与されたので、もう一度データベースを作成してみます。

console
mysql> CREATE DATABASE `database`;
Query OK, 1 row affected (0.00 sec)
mysql> SHOW DATABASES;
+--------------------------------+
| Database                       |
+--------------------------------+
| database                       |
+--------------------------------+
1 rows in set (0.00 sec)

できた!!!

リストアします。

console
# mysql -u user -p  database < dbdump.sql
Enter password:
#

できた!!!
と思ってdbの中を見てみたらデータベースはできていたがテーブルが1つもできていなかった。

dbdump.sqlを見たところ、複製先のデータベースが違っていた。
old_databasedatabeseに変えてもう一回リストアしてみたらできました。

dbdump.sql
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `old_database` /*!40100 DEFAULT CHARACTER SET latin1 */;

USE `old_database`;
...
0
0
2

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
0
0