由于备份时语法错误 或 指定的目录不存在,但在备份的时候又没报错,所以工程师以为备份成功了,最终酿成大祸;(成为黑锅侠)
一、错误备份演示
语法出错,备份失效看似备份成功,但查看备份内容时,出现语法错误的警告
1 2 3 4 5 6 7 8 9 10 11 |
[root@db02 ~] # cat /opt/oldboy_bak1.sql Usage: mysqldump [OPTIONS] database [tables] OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] OR mysqldump [OPTIONS] --all-databases [OPTIONS] For more options, use mysqldump --help
1,错误点就是 -A 与-B 不能同时使用,会产生语法错误,看下面解释就明白了,指定的范围有冲突
|
补充强调:我们平时发帖子,都是通过web服务器连接mysql,之后通过insert语句把数据存入数据库
-A全备会出现events—warning,下面是 处理方法:
1 2 3 4 |
|
如何拒绝成为黑锅侠:胆大心细,善于总结,吸取经验,脱离黑锅;
二,正确备份演示
定期做备份恢复演练 或恢复测试
1,在test数据库中创建student表
1 2 3 4 5 6 7 8 | mysql> use test ; ##进入test库 create table student( id int(4) not null, name char(20) not null, age tinyint(2) NOT NULL default '0' , dept varchar(16) default NULL ); ##创建student表 里面是各个字段的设置 |
2,备份数据库test
1 2 | mysqldump -uroot -poldboy123 -S /data/3307/mysql .sock -B test > /opt/test .sql cat /opt/test .sql #检测备份是否有效 |
3,删除test库(模拟真实环境)
1 2 3 4 5 6 7 8 9 10 11 | mysql> drop database test ; Query OK, 0 rows affected (0.00 sec) mysql> show databases; #没有test数据了 +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | oldboy | | performance_schema |
4,恢复test库 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | [root@db02 ~] # mysql -uroot -poldboy123 -S /data/3307/mysql.sock </opt/test.sql mysql> show databases; #恢复test库,因为之前使用-B备份的,所以现在不用指定库,直接恢复 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | oldboy | | performance_schema | | test | +--------------------+ 5 rows in set (0.00 sec) mysql> desc student; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | id | int(4) | NO | | NULL | | | name | char(20) | NO | | NULL | | | age | tinyint(2) | NO | | 0 | | | dept | varchar(16) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec) |
到此,模拟数据恢复成功。
mysql 常见报错代码链接:
http://oldboy.blog.51cto.com/2561410/1728380