MySQL

MySQLのデータベースをまるっとお引越し。 (エクスポート/インポート)

More than 3 years have passed since last update.


概要

今回は、既存のデータベースをエクスポートして、そのあとインポートするお話を綴ります。

※平素よりMySQLをご利用の方には今更感溢れる内容となっております。 m(_ _)m


手順


エクスポート編

この1行でできるよ!

$ mysqldump -u testuser -p testdb > export.sql

[testuser] には任意のデータベースユーザー名を、

[testdb] にはエクスポートしたいデータベース名を、

[export.sql] にはエクスポートするファイル名を指定してね!

Enter password:

パスワードを求められたら入力してね!

export.sql が出力されたかな?


インポート編

インポートする前に、受け入れ先のデータベースを作っておく必要があるよ!

MySQLにログイン!

$ mysql -u root -p

パスワードを入力してね。

Enter password:

受け入れ用の新しいデータベースを作成…

MariaDB [(none)]> create database newdb;

[newdb] には任意のデータベース名を指定してね。

MySQLからログアウト。

MariaDB [(none)]> \q




次はインポートだよ!

このコマンドでインポートできるよ!

$ mysql -u root -p newdb < export.sql

データベースのrootパスワードを入力してね!

Enter password:

これで完了!

とっても簡単ね!


その他


新しく作ったデータベース用にユーザーを追加する

ユーザーの作成方法は以前にも書いたけど、もう一度書いておくね!

MariaDB [(none)]> grant all on newdb.* to testuser@localhost identified by 'password';

[newdb] には任意のデータベース名、

[testuser] には任意のデータベースユーザー名、

[password] には任意のパスワード文字列を指定してね!

ちなみに。

grant all は「すべての権限を与える」という意味、

newdb.** は newdb以下のすべてのテーブルに適用という意味だよ。

ここら辺を細かく指定することで、ユーザーのデータベースに対するアクセス権を調節することができるよ!


参考