MySQL:mysqldump

を使用してデータベースをバックアップ(ダンプ)および復元する方法この記事では、mysqldumpおよびmysqlコマンドを使用してLinuxのコマンドラインからMySQLデー

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

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

MySQL Dumpコマンドの使用方法

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

mysqldumpコマンドの構文を以下に示します:

mysqldump -u -p > .sql

どこで:

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

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

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

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

mysqldump -u root -p my_wordpress > my_wordpress_backup.sql

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

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

コマンドは視覚的な出力を生成しませんが、headコマンドを使用してmy_wordpress_backup.sqlの内容を検査して、正当な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データベースのバックアップ

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

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

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

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

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

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 -p < .sql

ここで、

  • usernameはMySQL/MariaDBユーザー名です。
  • -pこのユーザーのパスワードの入力を求めます。
  • database_nameは、復元するデータベースの名前です。
  • 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サーバーから新しいMySQLサーバーにユーザーと権限を再作成する必要もあります。

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

Leave a Reply