Windows 10 HomeにてMySQLデータベースのエクスポートとインポート

MySQLのデータベースをインポート、エクスポートする際は、MySQLにログインしてない状態で行います。

この状態はNG 

f:id:ts0818:20170824154640j:plain

この状態はOK

f:id:ts0818:20170824154635j:plain

 

エクスポート

どのデータベースをエクスポートするか確認するため、一旦MySQLにログインします。

mysql -u ユーザー名 -p 

f:id:ts0818:20170824154640j:plain

データベース一覧を確認。

SHOW DATABASES;

f:id:ts0818:20170824155103j:plain

今回は、fs6project_dbというデータベースをエクスポートします。エクスポートの前に、fs6project_dbを選択し、

f:id:ts0818:20170824171059j:plain

データベースの中身を確認。

f:id:ts0818:20170824171417j:plain

それでは、一旦、データベースから抜けます。exitでもいけます。

quit

f:id:ts0818:20170824154635j:plain

 それではエクスポート。

エクスポートファイルのパス指定はできないようなので、保存先を指定したい場合は、あらかじめcdコマンドなどでディレクトリを移動しておきます。今回はカレントディレクトリ(いまいるディレクトリなので、ここでは『C:¥Users¥Toshinobu』)にエクスポートファイルを作成。

【MySQL】mysqldump: Got error: 1044 | enjoyブログ♪

f:id:ts0818:20170824162253j:plain

ファイルがエクスポートされました。

f:id:ts0818:20170824162249j:plain

 

インポート

エクスポートしたファイルをインポートしていきます。 その前に、インポート先のデータベースを作成します。rootユーザーでないとデータベース作成ができないようなので、rootユーザーでMySQLにログインしました。

f:id:ts0818:20170824163442j:plain

作成したデータベース(『import_test』)に対して、ユーザー『owner』に権限を付与しておきます。「dbname」は「データベース名」、「dbuser」は「ユーザー名」、「dbpassword」は「ユーザーのパスワード」にそれぞれ合わせてください。

GRANT ALL PRIVILEGES ON dbname.* TO dbuser@'localhost' IDENTIFIED BY 'dbpassword';

f:id:ts0818:20170824165123j:plain

それでは、またMySQLからログアウトし、インポートを実行します。

※ インポート先のデータベースにインポートするテーブルと同じ名前のテーブルがある場合、DROP TABLEコマンドでテーブルが削除されるので注意です。

「dbname」は「データベース名」、「dbuser」は「ユーザー名」にそれぞれ合わせてください。

mysql -u dbuser -p --default-character-set=utf8 dbname < インポートするファイル名
Enter password: ******

f:id:ts0818:20170824170437j:plain

MySQLにログインし、データベースにデータのインポートができたか確認します。 

f:id:ts0818:20170824170328j:plain

データベース一覧表示。

f:id:ts0818:20170824170321j:plain

使用するデータベースを選択。

f:id:ts0818:20170824171059j:plain

テーブルを表示。 

f:id:ts0818:20170824170315j:plain

無事、インポートできました。

 

mysqldumpまとめ - Qiita