GNU/Linux >> Linux の 問題 >  >> Linux

MySQL:mysqldumpを使用してデータベースをバックアップ(ダンプ)および復元する方法

この記事では、mysqldumpおよびmysqlコマンドを使用してLinuxのコマンドラインからMySQLデータベースをダンプおよび復元する適切な方法を示します。

MySQLまたはMariaDBデータベースを使用している場合は、データのバックアップと復元の方法を理解することが非常に重要です。さらに、データベースの定期的なバックアップを保持する必要があります。これにより、アプリケーションがクラッシュしたり、システム障害によってデータが破損したりした場合に、データを復元できます。

MySQLとMariaDBには、データベースをすばやく簡単にダンプおよび復元するために使用できるコマンドラインツールが含まれています。 mysqldump ツールは、データベースのコンテンツをテキストファイルにエクスポートするために使用されますが、mysql クライアントを使用して、テキストファイルからMySQL/MariaDBデータベースにデータをインポートできます。

MySQLダンプコマンドの使用方法

mysqldump コマンドラインユーティリティは、データベースをSQLテキストファイルにエクスポートします。つまり、MySQLデータベースダンプを取得するために使用されます。

mysqldumpの構文 コマンドは以下のとおりです:

mysqldump -u [username] -p [database_name] > [filename].sql

場所:

  • ユーザー名 MySQL/MariaDBのユーザー名です。
  • -p このユーザーのパスワードの入力を求めます。
  • database_name バックアップするデータベースの名前です。
  • filename.sql バックアップを含むSQLダンプファイルへのフルパスです。

データベースのプロシージャ、関数、ビュー、およびイベントは、バックアップ時にダンプされます。

mysqldump:単一のMySQLデータベースをバックアップする

この例では、データベースの名前はmy_wordpressです。 。これを、エクスポートするデータベースの名前に置き換えます。構文に従って、バックアップファイルは現在の場所に作成されます。

mysqldump -u root -p my_wordpress > my_wordpress_backup.sql

コマンドの実行後、MySQLルートパスワードを入力します。

これにより、my_wordpress_backup.sqlという名前のMySQLダンプファイルが作成されます。 これには、テーブルを作成し、データを既存のデータベースに復元するためのすべてのSQLステートメントが含まれています。エクスポートプロセス中にエラーが発生した場合は、mysqldump それらを画面に印刷します。

このコマンドは視覚的な出力を生成しませんが、my_wordpress_backup.sqlの内容を調べることができます headコマンドを使用して、それが正当なMySQLダンプファイルであるかどうかを確認します。

head -n 5 my_wordpress_backup.sql
-- MariaDB dump 10.19  Distrib 10.5.9-MariaDB, for Linux (x86_64)
-- Host: localhost    Database: my_wordpress
 
-- Server version    10.3.27-MariaDB-0+deb10u1

mysqldump:複数のMySQLデータベースをバックアップする

1つのコマンドで複数のMySQLデータベースをバックアップするには、--databasesを使用する必要があります オプションの後に、バックアップするデータベースのリストが続きます。さらに、結果ファイルを任意の場所に配置できます。

次のコマンドを実行して、MySQLダンプファイルmy_backup.sqlを作成します /home/backupsにあります my_wordpressという名前の2つのデータベースのディレクトリ およびftpusers

mysqldump -u root -p --databases my_wordpress ftpusers > /home/backups/my_backup.sql 

mysqldump:すべてのMySQLデータベースをバックアップ

--all-databasesを使用します すべてのMySQLデータベースをバックアップするオプション:

mysqldump -u root -p --all-databases > all_db_backup.sql
圧縮されたMySQLデータベースバックアップを作成する方法

データベースのサイズが非常に大きい場合は、出力を圧縮することをお勧めします。これを行うには、出力をgzipにパイプするだけです。 コマンドを実行し、以下に示すようにファイルにリダイレクトします。

mysqldump -u root -p my_wordpress | gzip > my_wordpress_backup.sql.gz

mysql:MySQLダンプファイルからMySQLを復元する

mysqldumpで作成されたバックアップを復元するには 、mysqlを使用する必要があります コマンド。

mysql -u [username] -p [database_name] < [filename].sql

どこ

  • ユーザー名 MySQL/MariaDBのユーザー名です。
  • -p このユーザーのパスワードの入力を求めます。
  • database_name 復元するデータベースの名前です。
  • filename.sql バックアップを含むSQLダンプファイルへのフルパスです。

mysql:単一のMySQLデータベースを復元する

特定のデータベースのMySQLダンプファイルからすべてのテーブルを復元できます。

復元は、以下のコマンドを使用して実行するだけです。ここでも、ユーザーを指定し、パスワードの入力を求められ、my_wordpress_backup.sqlを渡します。 データベースにファイルmy_wordpress

mysql -u root -p my_wordpress < my_wordpress_backup.sql

MySQLユーザーのパスワードの入力を求められます。

これが完了すると、データベースはMySQLの実行中のインスタンスで使用できるようになります。インポート元のMySQLダンプファイルも引き続き存在するため、この時点で安全に保存するか、不要になった場合は削除することができます。

mysql:すべてのMySQLデータベースを復元する

MySQLダンプファイルから任意のMySQLサーバーのすべてのデータベースを別のMySQLサーバーに復元できます。

mysql -u root -p < all_db_backup.sql
結論

これで、上記の手順に従って、データベースファイルの定期的なバックアップを維持し、必要に応じてデータを復元できます。

このチュートリアルは、新しいサーバーに移行する場合にも適用されます。古いサーバーのデータベースをバックアップし、MySQLダンプファイルを新しいサーバーにアップロードするだけです。新しいサーバーに宛先データベースを作成し、アップロードされたMySQLダンプファイルを新しいデータベースで実行します。さらに、古いMySQLサーバーから新しいサーバーにユーザーと権限を再作成する必要もあります。

詳細については、公式ドキュメントへのリンクをご覧ください。

ご質問やご意見がございましたら、お気軽にコメントをお寄せください。


Linux
  1. PostgreSQLでデータベースをバックアップおよび復元する方法

  2. SSHのコマンドを使用してMySQLデータベースを復元するにはどうすればよいですか?

  3. Ubuntu で MySQL データベースのバックアップをスケジュールする方法

  1. phpMyAdminを使用してMySQLデータベースを最適化および修復する方法

  2. Postgresデータベースをバックアップおよび復元する方法

  3. mysqlhotcopy を使用した MySQL データベースのバックアップと復元

  1. MySQLデータベースをバックアップおよび復元する方法

  2. コマンドラインを使用してMySQLデータベースをバックアップおよび復元する方法

  3. Ubuntu20.04でmysqldumpを使用してMySQLデータベースのバックアップを作成する方法