sql >> データベース >  >> RDS >> Mysql

データベース管理用のMySQLバックアップおよび復元コマンド

    この記事では、 MySQLのさまざまなバックアップ操作を実行する方法に関するいくつかの実用的な例を示します。 mysqldumpを使用するデータベース コマンドと、 mysqlを使用してそれらを復元する方法も確認します。 およびmysqlimport Linuxのコマンド 。

    mysqldump コマンドラインクライアントプログラムであり、ローカルまたはリモートの MySQLをダンプするために使用されます 単一のフラットファイルにバックアップするためのデータベースまたはデータベースのコレクション。

    すでにMySQLをお持ちであると想定しています Linuxにインストール 管理者権限を持つシステムであり、 MySQLに関する知識がすでに少しあることを前提としています。 。 MySQLがインストールされていないか、 MySQLに触れていない場合 次に、以下の記事をお読みください。

    1. MySQLサーバーをRHEL/CentOS 6-5、Fedora17-12にインストールします
    2. データベース管理用の20のMySQLコマンド

    MySQLデータベースをバックアップする方法は?

    MySQLのバックアップを取るため 1つまたは複数のデータベースの場合、データベースはデータベースサーバーに存在し、アクセスできる必要があります。コマンドの形式は次のようになります。

    # mysqldump -u [username] –p[password] [database_name] > [dump_file.sql]

    上記のコマンドのパラメータは次のとおりです。

    1. [ユーザー名] :有効なMySQLユーザー名。
    2. [パスワード] :ユーザーの有効なMySQLパスワード。
    3. [database_name] :バックアップする有効なデータベース名。
    4. [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

    データベースの単一テーブルをバックアップする方法

    以下のコマンドを使用すると、データベースの単一のテーブルまたは特定のテーブルのバックアップを取ることができます。たとえば、次のコマンドは wp_postsのバックアップのみを取ります データベースのテーブルwordpress

    # 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

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


    1. MicrosoftAccessとSQLServer

    2. SQL Server 2008は、新しく作成されたユーザーでログインできません

    3. varcharとして保存された日付の比較

    4. 高速テストのためにPostgreSQLを最適化する