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_wordpress
とftpusers
という名前の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