,mysqldump备份与恢复之黑锅侠

  

,,,公司这几天数据库有数据丢失,所以找到运维部门要恢复数据库,但是我们的工程师,在执行完恢复命令后,提示语法错误,并没有恢复数据库,坑爹啊~ ~ ~

,,具体原因:由于备份时<强> 或<强> 强劲,但在备份的时候又没报的错,所以工程师以为备份成功了,最终酿成大祸;(成为黑锅侠)

,公司最终开恩,每人扣除1000元的惩罚、下面来总结并模拟下正常过程。


: https://www.dgstack.cn/ 进入有惊喜哦~ ~欢迎收藏


备份演示

[root@db02  ~] #, mysqldump  -uroot  -poldboy123  -A  -B  oldboy 在/opt/oldboy_bak1.sql   (root@db02  ~) #, cat /opt/oldboy_bak1.sql   用法:,mysqldump [选项],database (表)   一、,,,,mysqldump [选项],——databases [选项],DB1  (DB2  db4…)   一、,,,,mysqldump [选项],——all-databases [选项]   For  more 选项,use  mysqldump ——帮助   #提示:   # 1,错误点就是,-A 与,[-B 指定库名),不能同时使用,会产生语法错误,看下面解释就明白了,指定的范围有冲突   #——:——all  databases 所有数据库备份   # - b:指定多个数据库备份,增加建库语句及使用语句,   # mysql 不能使用kill  9,否则后果自负;

<强>把数据存入数据库

<强> 强,总结常用的几个:

——:——all  databases 所有数据库备份   - b:指定多个数据库备份,增加建库语句及语用句   ——compact 减少无用输出- - -去掉备份文件中注释的SQL语句,适合调试,生产中不建议使用   -F 刷新binlog日志,生产新文件,将来增量从这个新文件开始(完整恢复=全备+临界点binlog)   ——master-data 增加binlog日志文件名及对应的位置点(有锁表功能)(即CHANGE  MASTER 语句)   ——主数据=https://www.yisu.com/zixun/1不注释可执行   ——主数据=2注释信息(   - x是锁表,为什么要锁表?主要是确保备份数据的完整性,不要出现“锯齿状”数据,尽量在业务低谷时备份或内部专门用于备份的从数据库在锁表   - l对所有表加读锁。(默认是打开的,用——skip-lock-tables来关闭,上面的选项会把关闭- l选项)   - d只备份库表结构无数据   - t只备份数据无表结构SQL语句形式   - t库表,数据分离不同文件,数据是文本形式,   ——单独的事务适合InnoDB数据数据库备份,它有酸特性,隔离性:执行转储后,只能看到之前的数据,之后插入的被隔离   q,快速直接导出不写入内存不缓冲查询,直接转储到标准输出。   # #快速(默认为上;使用——skip-quick禁用。)   ——单独的事务备份期间不锁表,又能保证数据一致性(基于innodb引擎),例如给每个人照相,“快”照   - s多实例指定套接字

出现events-warning、下面是处理方法:

这是因为,mysqldump默认是不备份事件表的,只有加了——events 才会,解决办法:,   加上——events ,或,——ignore-table=mysql.events 参数即可,,   ,,,#导出事件,,,,,,#忽略某个表的意思,可以mysqldump ——help 查看   mysqldump  -uroot  -poldboy123  -S /数据/3307/mysql.sock ,——events  -A 在所有。sql

"作用

如果没有- b这个参数备份文件中就不会有如下内容,在恢复的时候不会有建库的动作

CREATE  DATABASE /* ! 32312, IF  NOT 存在*/,mysql的,/* ! 40100,DEFAULT  CHARACTER  SET  utf8  */;   USE “mysql”

强,吸取经验,脱离黑锅;

备份演示

定期做备份恢复演练或恢复测试

1,在测试数据库中创建学生表

mysql>, USE 测试;,,# #进入测试库   create  table 学生(   int id  (4), not 空,   name  char (20), not 空,   age 非常小的整数(2),NOT  NULL  default  & # 39; 0 & # 39;   dept  varchar (16), default  NULL   );   # #创建学生表,里面是各个字段的设置

2,备份数据库测试

mysqldump  -uroot  -poldboy123  -S /数据/3307/mysql.sock , -B  test 在/opt/test.sql   cat /opt/test.sql , #检测备份是否有效

3,删除测试库(模拟真实环境)

,mysqldump备份与恢复之黑锅侠