Ipad

すべてのMySQLデータベースをエクスポートおよびインポートする方法

すべてのMySQLデータベースをエクスポートおよびインポートする方法

コマンドラインからMySQLのデータベースをエクスポートおよびインポートする

多くの開発者やプロユーザーは、データベースのニーズにMySQLを利用しています。MySQLからすべてのデータベースをエクスポートまたはダンプする方法、単一のデータベースをダンプする方法、そしてdatabase.sqlファイルからすべてのデータベースをMySQLにインポートする方法を解説します。

MySQLを操作するためのGUIベースのツールもありますが、ここではコマンドラインに焦点を当てます。MySQLコマンドは、Linux、Mac OS、Mac OS Xなど、あらゆるUnix OS、あるいはMySQLを実行しているあらゆるOS上のあらゆるバージョンのデータベースソフトウェアで動作します。

ここでは、MySQL がすでにインストールされ実行されているものと想定します。そうでない場合は、こちらで Mac OS での MySQL サーバーの起動と停止について学習し、ここから MySQL をダウンロードできます。また、完全な Web サーバー スタックをお探しの場合は、使いやすい Mac 用の MAMP を確認してください。

コマンドライン経由でMySQLからすべてのデータベースをダンプする方法

バックアップや移行などのために、MySQL からすべてのデータベースを .sql ファイルにダンプする最も簡単な方法は、次のように –all-databases フラグを使用することです。

mysqldump --all-databases > all_databases_dump.sql

このコマンドはすべてのデータベースをエクスポートするため、データベース名を指定する必要はありません。mySQLに保存されているすべてのデータベースは、現在の作業ディレクトリ内の「all_databases_dump.sql」エクスポートファイルにダンプされます。

必要であれば、すべてのデータベースをダンプするときにユーザー名とパスワードを指定することもできます。この場合、ユーザー名は root です。

mysqldump -u root -p --all-databases > all_databases.sql

mysql データベースがダンプされた後、ここで説明されているようにそこから tar gzip を作成することが私の個人的な好みですが、これは完全にオプションです。

MySQLから特定のデータベースをエクスポートする方法

すべてのデータベースをエクスポートするのではなく、名前を指定して特定のデータベースをダンプしたい場合も、同様に簡単です。

mysqldump database_name > database_name_dump.sql

mysqldump コマンドには、データベースのエクスポートとバックアップに役立つ多くのパラメーターとフラグがあります。詳細については、「man mysqldump」のマニュアル ページを参照するか、dev.mysql Web サイトを参照してください。

すべてのデータベースをMySQLにインポートする方法

もちろん、データベースのダンプがある場合は、それをMySQLにインポートすることが重要です。database.sqlファイルからすべてのデータベースをコマンドライン経由でMySQLにインポートする最も簡単な方法は次のとおりです。

mysql database_name < database_dump.sql

また、データベースのエクスポートと同様に、インポート時に必要に応じてユーザー名を指定することもできます。

mysql -u root -p < database_dump.sql

必要に応じて、別のユーザー名またはデータベースも指定します。

mysql -u user -p database_name < database_dump.sql

特定のデータベースをMySQLにインポートする

大きなダンプ内の特定のデータベースを名前でインポートすることもできます。

mysql --one-database database_name < all_databases.sql

これまでと同様に、データベースを mysql にインポートする際に問題がある場合は、「man mysql」でマニュアル ページを参照するか、mysql 開発者サイトにある公式ドキュメントを参照してください。

MySQL でデータベースをエクスポートしたりインポートしたりするための興味深いコツをご存知ですか?コメントで教えてください!