- mysqldump + binlog的简介
- mysqldump + binlog的备份
- mysqldump + binlog的恢复
- 记录的导入导出
1.mysqldump + binlog的简介
1.1.优势
mysqldump对数据库进行备份日志时数据库可以一直处于开启的状态
1 自动记录日志(position)位置。 (show master status;)
2 可用性,一致性 锁表机制。
1.2语法:" mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql "
参数说明:
(1)库的范围
-A, --all-databases 所有库
school 数据库名
school stu_info t1 是指school数据库的表stu_info、t1
-B, --databases bbs test mysql 多个数据库
(2) --single-transaction #InnoDB 一致性 服务可用性
(3) --master-data=1|2 #该选项将会记录binlog的日志位置与文件名并追加到文件中,或添加注释
(4) 高级选项
--opt #同时启动各种高级选项
-R, --routines #备份存储过程和存储函数
-F, --flush-logs #备份之前刷新日志,截断日志。备份之后新binlog。
--triggers #备份触发器
(5) 帮助 mysqldump --help
2.mysqldump + binlog的备份
2.1准备好数据库
2.2执行备份
--flush-logs 二进制文件的日志轮转
--single-transaction 保持数据的可用性,就是在备份时数据一直处于可用的状态
--master-data=2 注释掉日志记录
2.3观察备份文件的内容
二进制的截断位置,在 "localhost-bin.000003" 第154之行前全都备份好了
锁机制,用来保证数据一致性,在备份数据时先锁住表,然后进行备份,在备份时只能读取数据,不能更改数据。
2.4备份之后在进行数据的变更
3.mysqldump + binlog的恢复
3.1备份二进制文件
3.2停止数据库清理数据库在重新启动数据库
3.3恢复数据,并查看
这里的恢复只能恢复做了备份时间点的数据,从备份点开始到灾难发生时的数据并没有恢复,如果想要恢复必须借用二进制日志文件来进行恢复
二进制日志恢复:
观察二进制截取记录,在利用二进制文件进行恢复
到此利用MySQLdump加上二进制文件的恢复已经完成。
4.记录的导入导出
4.1导出: " select * from test.t3 into outfile '/backup/test.t3.txt'; "
也可以: " mysql -uroot -p'Lyg@123.com' -e 'select * from test.t3; ' > /backup/test.t3.txt "
注意权限目录:在配置文件中加入:
在更改文件的属主:
导出表并查看:
4.2导入:" load data infile 导入的文本文件 into table 表名 "
选择一个表结构相同的表清理内容
导入信息