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

MySQLデータベースをバックアップおよび復元する方法は?

    MySQLを使用する場合、MySQLデータベースを定期的にバックアップおよび復元する必要がある場合があります。事故の際の復旧に役立ちます。 MySQLデータベースをバックアップおよび復元する方法は次のとおりです。

    mysqldumpは、MySQLデータベースをバックアップする簡単な方法です。 MySQLセットアップファイルと一緒にバンドルされています。 MySQLをインストールすると、コンピュータにインストールされます。 DROPテーブルを含む*.sqlファイルを作成します 、CREATEテーブル およびINSERTinto データベースのSQLステートメント。 MySQLデータベースを復元するには、宛先データベースで*.sqlファイルを実行します。

    mysqldumpを使用して、単一または複数のデータベースをバックアップできます。データベース内の特定のテーブルをバックアップすることもできます。

    MySQLデータベースをバックアップおよび復元するコマンドの構文は次のとおりです。

    backup: # mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
    
    restore:# mysql -u root -p[root_password] [database_name] < dumpfilename.sql

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

    1。単一のデータベースをバックアップする:

    sample_dbデータベースのバックアップが必要だとします。たとえば、rootパスワードは「passwd」です

    # mysqldump -u root -ppasswd sample_db > sample_db.sql
    

    このコマンドはバックアップを取り、データベースの出力をsample_db.sqlにダンプします。 sales_db.sqlには、sales_dbデータベース内のすべてのテーブルに対して、テーブルの削除、テーブルの作成、およびコマンドの挿入が含まれます。以下は、sales_db.sqlの部分的な出力であり、ダンプ情報を示しています。

    --
    -- Table structure for table `user_table`
    --
    DROP TABLE IF EXISTS `user_table`;
    /*!40101 SET @saved_cs_client = @@character_set_client */;
    /*!40101 SET character_set_client = utf8 */;
    CREATE TABLE `user_table` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `username` varchar(75) DEFAULT NULL,
    `email` varchar(75) NOT NULL,
    `password` varchar(128) NOT NULL,
    `date_joined` datetime NOT NULL,
    PRIMARY KEY (`id`),
    UNIQUE KEY `username` (`username`)
    ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
    /*!40101 SET character_set_client = @saved_cs_client */;
    
    --
    -- Dumping data for table `user_table`
    --
    
    LOCK TABLES `user_table` WRITE;
    /*!40000 ALTER TABLE `user_table` DISABLE KEYS */;
    INSERT INTO `user_table` VALUES (1,'test_user','[email protected]','sha1$96e28$effdf3bfe8d0477','2012-12-12 23:17:10'),(7,'[email protected]','[email protected]','sha1$5e05960cede8','2013-02-05 14:56:04'),(8,'[email protected]','[email protected]','sha1$c2497b6420379ac76','2013-02-05 14:57:01');
    /*!40000 ALTER TABLE `user_table` ENABLE KEYS */;
    UNLOCK TABLES;

    2。複数のデータベースのバックアップ:

    バックアップするデータベースを選択します。すべてのデータベースのリストを取得する方法は次のとおりです。

    # mysql -u root -ppasswd
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | sample_db          |
    | mysql              |
    | sample_sales_db    |
    +--------------------+
    4 rows in set (0.00 sec)

    たとえば、sample_dbデータベースとsample_sales_dbデータベースの両方のバックアップを取りたいとします。図のようにmysqldumpを実行します:

    # mysqldump -u root -ppasswd --databases sample_db sample_sales_db > multi_databases.sql

    3。すべてのデータベースをバックアップします:

    MySQLインスタンスのすべてのデータベースをバックアップする方法は次のとおりです。

    # mysqldump -u root -ppasswd --all-databases > all-database.sql

    4。特定のテーブルをバックアップする:

    sample_dbデータベースからuser_tableテーブルのみをバックアップするとします。

    # mysqldump -u root -ppasswd sample_db user_table > sample_db_user_table.sql

    MySQLデータベースを復元する方法

    sample_dbデータベースを復元するには、以下に示すように、<を指定してmysqlを実行します。 .sqlファイルを復元するデータベースがコンピューターに存在することを確認します。それ以外の場合は、新しいデータベースを作成してから復元を実行できます。

    1. SQL Serverはどの程度健全ですか?プロアクティブなデータベース監視が重要

    2. T-SQLトリム&nbsp(およびその他の英数字以外の文字)

    3. PostgreSQLで月番号を月名に変換する

    4. MySQL –エラーの修正–WordPressデータベースエラークエリのキーPRIMARYの重複エントリINSERTINTO wp_options