#定义开启,可以为其设置路径,默认路径在 /var/lib/mysql 即数据库目录,mysql-bin是自定义名称,
#文件名称为 mysql-bin.000001,mysql-bin.000002,mysql-bin.index
log_bin = mysql-bin
#版本5.7之后需要设置,随意设定,但集群环境下要配置不同的值,不能重复
server_id = 47
#清除过期日志时间,默认是0,即需手动删除
expire_logs_days = 10
#定义单个文件的限制大小
max_binlog_size = 100M
# 有三种格式 row、statment、mixed
binlog_format=row # binlog 日志格式
binlog_rows_query_log_events = 1 # 将原始的操作sql记录写入事件中查看是否已经启动#mysql服务器下执行,结果可以查看日志位置 log_bin_basename,log_bin_index,log_bin
show variables like 'log_%';查看文件个数和文件名#mysql服务器下执行
#每启动一次mysql服务,将会产生一个新的日志文件
show BINARY logs;
#查看当前日志
show master status;
#刷新日志,生成新的
flush logs;查看二进制日志文件#命令行下执行
mysqlbinlog /var/lib/mysql/mysql-bin.000001
#如果乱码则使用
mysqlbinlog --base64-output=DECODE-ROWS -v /var/lib/mysql/mysql-bin.000001mysql的命令行查看日志最原始的insert sql语句mysql> show binlog events in 'mysql-bin.000216';删除二进制日志文件#mysql服务器下执行
#清除所有的二进制日志文件
reset master;
#删除文件名编号比指定文件名编号小的所有日志文件
purge MASTER logs TO "mysql-bin.000003";
#删除指定日期以前的所有日志文件
#删除2018年3月22日之前的日志文件
purge MASTER logs before '20180322';使用二进制文件恢复数据库#恢复数据到 2018年03月22日 17:05:34 的状态
shell> mysqlbinlog --stop-datetime="2018年03月22日 17:05:34" /var/lib/mysql/mysql-bin.000002 | mysql -u root -p
--start-datetime 起始时间 时间指那行有时间且最后有 Xid 的那行的时间
--stop-datetime 结束时间
--start-position 起始位置 位置指文件 at 后面的数字
--stop-position 结束位置暂时停止二进制日志功能#暂停
mysql> set sql_log_bin = 0;
#恢复
mysql> set sql_log_bin = 1;binlog恢复数据的几种情况ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。