,,,公司这几天数据库有数据丢失,所以找到运维部门要恢复数据库,但是我们的工程师,在执行完恢复命令后,提示语法错误,并没有恢复数据库,坑爹啊~ ~ ~
,,具体原因:由于备份时<强> 强>或<强> >强劲,但在备份的时候又没报的错,所以工程师以为备份成功了,最终酿成大祸;(成为黑锅侠)
,公司最终开恩,每人扣除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,删除测试库(模拟真实环境)