Mysql 备份恢复

备份恢复

https://www.cnblogs.com/zejin2008/p/4638047.html

https://www.cnblogs.com/frankielf0921/p/5933127.html

https://blog.csdn.net/aitcax/article/details/41643919

直接cp,tar复制数据库文件

小型数据库, 直接复制数据库文件。

mysqldump+复制BIN LOGS

中小型数据库, 先使用mysqldump对数据库进行完全备份, 然后定期备份BINARY LOG达到增量备份的效果。

备份

-h host; -P port; -u user; -p password;

mysqldump.exe -hPup dbname [table1 [table2[ [...]]]] > savepath

mysqldump.exe -uroot -p123 db1 > db1.dump  //数据库备份

mysqldump.exe -uroot -p123 db1 t1 > db1.t1.dump  //数据库备份

查看.dump

DROP TABLE IF EXISTS `t1`;

SET character_set_client = utf8mb4 ;

CREATE TABLE `t1` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `name` varchar(32) NOT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

LOCK TABLES `t1` WRITE;

INSERT INTO `t1` VALUES (1,'t1'),(2,'t1'),(3,'t1'),(4,'t1'),(5,'t1'),(6,'t1'),(7,'t1'),(8,'t1'),(9,'t1'),(10,'t1'),(11,'t1'),(12,'t1');

UNLOCK TABLES;

-- Dump completed on 2018-08-07  9:47:44

还原

mysql.exe -hPup dbname < savepath  //登陆前,指定数据库名称。

source savepath;  //登陆进入目标数据库,备份文件实质存储的就是sql指令。

当然如果你愿意,也可以打开备份文件,复制所有sql语句到客户端执行。

lvm2快照+复制BIN LOGS

中型数据库, 想要不过分影响业务运行, 使用lvm2的快照对数据文件进行备份, 而后定期备份BINARY LOG达到增量备份的效果。

xtrabackup

大型数据库, 想要不过分影响业务运行, 使用xtrabackup进行完全备份后, 定期使用xtrabackup进行增量备份或差异备份。

猜你喜欢

转载自www.cnblogs.com/dailycode/p/9434116.html