MySQLでエクスポートまたはインポートするには、サーバーにログインすることから始めます。できればsudo
を使用してログインします。 (ルート)アクセス。
MySQLからのエクスポート
MySQLデータベースをテキストファイルにエクスポートするための最適なツールは、mysqldump
です。 。
mysqldump
を使用するには 、適切なMySQL user
のログイン資格情報を知っている必要があります 問題のデータベースをエクスポートするために必要な権限があります。
その情報を手に入れて、mysqldump
を入力します 適切なフラグとオプションを使用したコマンド:
$ mysqldump -u my_username -p database_name > output_file_path
使用されているオプションは次のとおりです。
-
-u
フラグは、MySQLのusername
続きます。 -
-p
フラグは、password
の入力を求めるプロンプトが表示されることを示します 上記のusername
に関連付けられています 。 -
database_name
もちろん、エクスポートするデータベースの正確な名前です。 -
>
symbolは、STDOUT
のUnixディレクティブです。 、これにより、Unixコマンドは発行されたコマンドのテキスト結果を別の場所に出力できます。この場合、その出力場所はoutput_file_path
で指定されたファイルパスです。 。
注:通常、output_file_path
の完全修飾パスとファイル名を入力することをお勧めします。 、したがって、結果のファイルは必要な場所に正確に生成されます。
たとえば、books
をエクスポートするには book_admin
としてのデータベース ~/backup/database
へのユーザー ディレクトリの場合、次のコマンドを使用できます:
$ mysqldump -u book_admin -p books > ~/backup/database/books.sql
Enter password:
上記のプロンプトが表示されたらパスワードを入力した後、このコマンドは.sql
を使用してバックアップファイルを作成します 適切なディレクトリのサフィックス(完全にオプションですが、お勧めします)。
デフォルトでは、mysqldump
しません 実際のデータベースの存在を変更しようとする保存コマンド。代わりに、デフォルトでは、実際のtables
のみ (およびそれぞれのデータ)が保存されるため、このファイルを使用して後でインポートできるように準備されます。もう1つのデータベースをエクスポート(および後で再作成)する機能が必要な場合は、--databases
を読んでください。 公式ドキュメントのフラグ。
MySQLデータベースのバックアップをエクスポートする方法を学習したので、プロセスを逆にしてインポートする方法について説明します。 既存のデータベースへのバックアップ。
ご想像のとおり、mysqldump
を補完するために エクスポートに使用されるコマンドには、同様のmysqlimport
があります。 インポートするためのコマンド。
ほとんどの場合、インポートは実質的に同一を渡すだけの問題です。 mysqlimport
のオプション 指図。保存したbooks.sql
をインポートするには 以前に作成したファイルでは、同じフラグとほとんど同じ構文を使用します。
$ mysqlimport -u book_admin -p books_production ~/backup/database/books.sql
Enter password:
以前と同様に、-u
および-p
認証にはフラグが必要です。その後にdatabase
の名前が続きます。 にインポートし(この場合、別の本番データベースを使用しています)、最後に、インポートデータを含むSQLダンプファイルへの完全修飾パスを指定します。~/backup/database/books.sql
。 mysqlimport
も注目に値します <
は必要ありません または>
(STDIN / STDOUT)mysqldump
で使用されたシンボル 。
これで、既存のデータベースをエクスポート/バックアップする方法と、そのデータを同じデータベースまたは別のデータベースにインポート/復元する方法の両方を学習しました。