Linux で MySQL/MariaDB データベースをバックアップおよび復元する方法
この記事では、mysqldump コマンドを使用して MySQL/MariaDB データベースのさまざまなバックアップ操作を実行する方法と、 Linux の mysql および mysqlimport コマンド。
mysqldump はコマンドライン クライアント プログラムで、ローカルまたはリモートのMySQL データベースまたはデータベースのコレクションを単一のフラット ファイルにバックアップするためにダンプするために使用されます。
管理者権限を持つ Linux システムにすでに MySQL がインストールされており、MySQL についてのある程度の知識があることを前提としています。 。
MySQL をインストールしていない場合、またはMySQL にまったく触れたことがない場合は、以下の記事をお読みください。
- RHEL ベースのディストリビューションに MySQL をインストールする方法
- Rocky Linux および AlmaLinux に MySQL をインストールする方法
- Ubuntu Linux に MySQL をインストールする方法
- Debian に MySQL をインストールする方法
- Linux でのデータベース管理のための 20 の MySQL (Mysqladmin) コマンド
- 12 Linux 向けの MySQL/MariaDB セキュリティのベスト プラクティス
Linux で MySQL データベースをバックアップするにはどうすればよいですか?
MySQL データベースまたはデータベースのバックアップを作成するには、データベースがデータベース サーバーに存在し、そのデータベースにアクセスできる必要があります。コマンドの形式は次のようになります。
mysqldump -u [username] –p[password] [database_name] > [dump_file.sql]
当該コマンドのパラメータは以下のとおりです。
- [username] : 有効な MySQL ユーザー名。
- [パスワード] : ユーザーの有効な MySQL パスワード。
- [database_name] : バックアップを取得する有効なデータベース名。
- [dump_file.sql]: 生成するバックアップ ダンプ ファイルの名前。
単一の MySQL データベースをバックアップするにはどうすればよいですか?
単一データベースのバックアップを作成するには、次のようにコマンドを使用します。このコマンドは、データベース [rsyslog] 構造とデータを rsyslog.sql という単一のダンプ ファイルにダンプします。
mysqldump -u root -ptecmint rsyslog > rsyslog.sql
複数の MySQL データベースをバックアップするにはどうすればよいですか?
複数のデータベースのバックアップを取得する場合は、次のコマンドを実行します。次のコマンド例では、データベース [rsyslog、syslog] の構造とデータのバックアップを rsyslog_syslog.sql という単一のファイルに作成します。
mysqldump -u root -ptecmint --databases rsyslog syslog > rsyslog_syslog.sql
すべての MySQL データベースをバックアップするにはどうすればよいですか?
すべてのデータベースのバックアップを作成する場合は、オプション –all-database を指定して次のコマンドを使用します。次のコマンドは、すべてのデータベースの構造とデータのバックアップを all-databases.sql というファイルに作成します。
mysqldump -u root -ptecmint --all-databases > all-databases.sql
MySQL データベース構造のみをバックアップするにはどうすればよいですか?
データのないデータベース構造のバックアップのみが必要な場合は、コマンドでオプション –no-data を使用します。以下のコマンドは、データベース [rsyslog] の構造をファイル rsyslog_structure.sql にエクスポートします。
mysqldump -u root -ptecmint -–no-data rsyslog > rsyslog_structure.sql
MySQL データベースのデータのみをバックアップするにはどうすればよいですか?
データベースの構造のないデータをバックアップするには、コマンドでオプション –no-create-info を使用します。このコマンドは、データベース [rsyslog] のデータをファイル rsyslog_data.sql に取り込みます。
mysqldump -u root -ptecmint --no-create-db --no-create-info rsyslog > rsyslog_data.sql
データベースの単一テーブルをバックアップするにはどうすればよいですか?
以下のコマンドを使用すると、データベースの単一テーブルまたは特定のテーブルのバックアップを作成できます。たとえば、次のコマンドはデータベース wordpress から wp_posts テーブルのバックアップのみを取得します。
mysqldump -u root -ptecmint wordpress wp_posts > wordpress_posts.sql
データベースの複数のテーブルをバックアップするにはどうすればよいですか?
データベースから複数または特定のテーブルのバックアップを取得する場合は、各テーブルをスペースで区切ります。
mysqldump -u root -ptecmint wordpress wp_posts wp_comments > wordpress_posts_comments.sql
リモート MySQL データベースをバックアップする方法
以下のコマンドは、リモート サーバー [172.16.25.126] データベース [ギャラリー] のバックアップをローカル サーバーに取得します。
mysqldump -h 172.16.25.126 -u root -ptecmint gallery > gallery.sql
MySQLデータベースを復元するにはどうすればよいですか?
上記のチュートリアルでは、データベース、テーブル、構造、およびデータのみのバックアップを作成する方法を説明しましたが、次に、次の形式を使用してそれらを復元する方法を説明します。
# mysql -u [username] –p[password] [database_name] < [dump_file.sql]
単一の MySQL データベースを復元する方法
データベースを復元するには、ターゲット マシン上に空のデータベースを作成し、msyql コマンドを使用してデータベースを復元する必要があります。たとえば、次のコマンドは rsyslog.sql ファイルを rsyslog データベースに復元します。
mysql -u root -ptecmint rsyslog < rsyslog.sql
ターゲットのマシンにすでに存在するデータベースを復元する場合は、mysqlimport コマンドを使用する必要があります。
mysqlimport -u root -ptecmint rsyslog < rsyslog.sql
同様に、データベースのテーブル、構造、データを復元することもできます。この記事が気に入ったら、ぜひお友達と共有してください。