目录
1)编辑打开mysql配置文件【linux:my.cnf windows:my.ini】
2)打开日志功能重启mysql服务来刷新读取文件调用服务【调用flush logs】
3)登录数据库查看日志是否开启【使用like模糊查询系统变量log_开头的关键词】
2)查看master状态,即最后(最新)一个binlog日志的编号名称,及其最后一个操作事件pos结束点(Position)值
3)flush刷新log日志,自此刻开始产生一个新编号的binlog日志文件
一、简单了解binlog
MySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL(create alter drop)和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。
一般来说开启binlog日志大概会有1%的性能损耗。
binlog日志有两个最重要的使用场景
1)MySQL主从复制:MySQL Replication在Master端开启binlog,Master把它的二进制日志传递给slaves来达到 master-slave数据一致的目的。
2)自然就是数据恢复了,通过使用mysqlbinlog工具来使恢复数据。
binlog日志包括两类文件
1)二进制日志索引文件(文件名后缀为.index)用于记录所有的二进制文件
2)二进制日志文件(文件名后缀为.00000*)记录数据库所有的DDL和DML(除了数据查询语句select)语句事件。
二、binlog日志功能
1.开启binglog日志功能
1)编辑打开mysql配置文件【linux:my.cnf windows:my.ini】
文件在mysql 文件路径下
[mysqld]
log-bin=mysql-bin
确认是打开状态(mysql-bin 是日志的基本名或前缀名)

2)打开日志功能重启mysql服务来刷新读取文件调用服务【调用flush logs】
刷新后binglog会创建一个binlog日志
语句:
service mysql restart
结果:
![]()
3)登录数据库查看日志是否开启【使用like模糊查询系统变量log_开头的关键词】
语句:
show variables like 'log_%';
结果:

上图显示:log_bin 的状态是ON【开启状态】
2.对binglog日志的操作
1)查看创建的binglog日志
语句:
show master logs;
结果:

上图文件名以.xxxxxx结尾为日志文件
2)查看master状态,即最后(最新)一个binlog日志的编号名称,及其最后一个操作事件pos结束点(Position)值
语句:
show master status;
结果:

3)flush刷新log日志,自此刻开始产生一个新编号的binlog日志文件
语句:
flush logs;
结果:

在 重启数据库是这个命令是回自动执行的;另外在mysqldump备份数据的时候 -F选项也会刷新binglog日志
4)重置(清空)所有binlog日志
语句:
reset master;
结果:【清空了日志但是它还是会清空后获取一个最新的日志】

三、备份数据库
1)查看已有库与表内容

2)备份数据库
这里手动执行下,将lzy数据库备份到/opt/backup/ops$(date +%F).sql.gz文件中:
[root@vm-002 ~]# mysqldump -uroot -p -B -F -R -x --master-data=2 lzy|gzip >/opt/backup/ops$(date +%F).sql.gz Enter password:
**参数说明:**
-B:指定数据库
-F:刷新日志
-R:备份存储过程等
-x:锁表
--master-data:在备份语句里添加CHANGE MASTER语句以及binlog文件及位置点信息
\-----------------
待到数据库备份完成,就不用担心数据丢失了,因为有完全备份数据在!!
由于上面在全备份的时候使用了-F选项,那么当数据备份操作刚开始的时候系统就会自动刷新log,这样就会自动产生
3)读取备份
[root@vm-002 mysql]# mysqlbinlog mysql-bin.000003
本文介绍了MySQL的binlog日志,包括其在主从复制和数据恢复中的重要角色,以及如何开启、查看和管理binlog。详细步骤包括编辑配置文件、重启服务、检查日志状态、操作binlog文件、备份和恢复数据库。

1412

被折叠的 条评论
为什么被折叠?



