Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

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

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

参考

sango
広く浅くつまみ食いしてます。 _(:3」∠)_ その浅さ故に誤った情報を投稿してしまうことも多々あるかと思います。 先んじてお詫び申し上げます。 m(_ _)m 御免!
https://twitter.com/con_ton
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away