LoginSignup
111
127

More than 5 years have passed since last update.

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

Posted at

概要

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

※平素より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以下のすべてのテーブルに適用という意味だよ。

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

参考

111
127
1

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
111
127