备份恢复
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进行增量备份或差异备份。