首页 > 数据库 > MySQL > 「MySQL」数据库备份和还原
来源:
mysqldump、mysql
关于mysqldump命令更多内容 详见
创建两张表user、his_user
CREATE TABLE `user` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(100) NOT NULL COMMENT '姓名',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户表';
CREATE TABLE `his_user` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(100) NOT NULL COMMENT '姓名',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='历史用户表';
插入数据
INSERT INTO user(name) VALUES('three');
INSERT INTO his_user(name) VALUES('wang');
mysql> select * from user;
+----+-------+
| id | name |
+----+-------+
| 1 | three |
+----+-------+
1 row in set (0.01 sec)
mysql> select * from his_user;
+----+------+
| id | name |
+----+------+
| 1 | wang |
+----+------+
1 row in set (0.00 sec)
全库备份
mysqldump -uroot -p123456 datax >dataxAll.sql
插入数据
INSERT INTO user(name) VALUES('four');
INSERT INTO his_user(name) VALUES('li');
mysql> select * from user;
+----+-------+
| id | name |
+----+-------+
| 1 | three |
| 2 | four |
+----+-------+
2 rows in set (0.00 sec)
mysql> select * from his_user;
+----+------+
| id | name |
+----+------+
| 1 | wang |
| 3 | li |
+----+------+
2 rows in set (0.00 sec)
恢复数据
mysql -uroot -p123456 datax < dataxAll.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
查看表数据
mysql> select * from user;
+----+-------+
| id | name |
+----+-------+
| 1 | three |
+----+-------+
1 row in set (0.00 sec)
mysql> select * from his_user;
+----+------+
| id | name |
+----+------+
| 1 | wang |
+----+------+
1 row in set (0.00 sec)
数据已经恢复到备份前模样。
mysqldump -uroot -p123456 datax $(mysql -N -uroot -p123456 -e "show tables from datax like 'tc%'") >t.sql
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70001864/viewspace-2846702/ ,如需转载,请注明出处,否则将追究法律责任。