ウェブサイト検索

Linux で MySQL/MariaDB データベースをバックアップおよび復元する方法


この記事では、mysqldump コマンドを使用して MySQL/MariaDB データベースのさまざまなバックアップ操作を実行する方法と、 Linuxmysql および 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 データベースをバックアップするにはどうすればよいですか?

複数のデータベースのバックアップを取得する場合は、次のコマンドを実行します。次のコマンド例では、データベース [rsyslogsyslog] の構造とデータのバックアップを 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

同様に、データベースのテーブル、構造、データを復元することもできます。この記事が気に入ったら、ぜひお友達と共有してください。