🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 二进制日志 + 记录数据库变化 ## 启动和设置二进制日志 > my.ini中[MySQLd]组下面设置 ```ini log-bin [= path / [filename]] expire_logs_days = 10 max_binlog_size = 100M ``` |参数|说明| |-|-| |log-bin|定义开启二进制,path表明日志文件所在的路径,filename指定了日志文件的名称| |expire_logs_days|定义了MySQL的过期时间| |max_binlog_size|定义了单个文件大小限制,默认1G,不得大于1G,不得小于4096B| ## 查看二进制日志 ### SQL命令查询日志设置 ```sql show variables; ``` ### SQL命令查看文件个数及文件名 ```sql show binary logs; ``` ### SQL命令查看文件详细内容 ```sql mysqlbinlog path/filename; ``` ## 删除二进制日志 ### 删除所有二进制文件 ```sql reset master; ``` ### 删除指定二进制文件 ```sql purge {master|binary} logs to '文件名'; purge {master|binary} logs before '日期'; ``` + 第一种按文件名删除 + 第二种按日期删除,格式20190702 ## 使用二进制恢复数据库 ```sql mysqlbinlog [参数] filename |mysql -u用户名 -p密码; ``` |参数|说明| |-|-| |--start-date|开始时间| |--stop-date|结束时间| |--start-position|开始位置| |--stop-position|结束位置| ### 恢复到2019年7月2日12点前 ```sql mysqllbinlog --stop-date="2019-07-02 12:00:00" |mysql -uroot -p123456; ``` ## 暂时停止二进制功能 ```sql set sql_log_bin = {0|1} ``` + 1是开启功能 + 0是关闭功能