1.环境
CentOS release 6.8 (Final)
Mysql版本:mysql-5.7.26
2.数据备份
- 全备:
- /application/mysql-5.7.26/bin/mysqldump -uroot -p--all-databases --lock-all-tables --routines --triggers --events --master-data=2 --flush-logs >full.sql
3、全库恢复:
- mysql -uroot -p < 20190818.sql
4、全备恢复单库

- 创建库:create database ysxdb2019;
- 导入数据:mysql -uroot -p --one-database < 20190818.sql


5、全备恢复单表
5.1、删掉一张表:drop table biz_action_log;

恢复单表数据
实例:table biz_action_log
删表结构:
drop table biz_action_log;
删表内容:
delete from biz_action_log;
从全库备份中抽取出t表的表结构
- sed -e '/./{H;$!d;}' -e 'x;/CREATE TABLE `biz_action_log`/!d;q' 20190818.sql > jg-biz_action_log.sql
从全库备份中抽取出t表的内容
grep 'INSERT INTObiz_action_log' 20190818.sql > nr-biz_action_log.sql
5.2、问题解决:首先解决主键冲突问题

解决:REPLACE into
遇主键冲突,替换原纪录,即 先删除原纪录,后insert 新纪录
sed -i ‘s#INSERT#replace#g’ nr-biz_action_log.sql
进入该库导入数据
导入表结构:mysql> source jg-biz_action_log.sql
导入表内容:mysql> source nr-biz_action_log.sql
Comments | NOTHING