mysql有以下几种日志
1、错误日志:-log-err
2、查询日志:-log
3、慢查询日志:-log-slow-queries 记录超时查询
3、更新日志:-log-update
4、二进制日志:-log-bin 用于数据库的基于时间点还原。
1.查看是否开启了binlog
:show variables like ‘%log_bin%’;
mysql安装好后默认是没有开启binlog日志功能的,需要手动开启并重启mysql服务才能生效
2.开启binlog:
修改mysql的配置文件my.ini。添加如下配置:
[mysqld]
log-bin=1 #开启logbin
log-bin=mysql-bin #指定文件名和路径,这里是默认路径
binlog-format=Row #文件类型
这里存在两个坑
1、该文件默认不允许修改。
对于这个问题有找到三种解决方法
方法一:修改权限。
找到文件:C:\ProgramData\MySQL\MySQL Server 5.7,右键->属性->安全,可以修改文件的安全属性,给某个用户,写入的权限。
方法二:覆盖。
把文件复制到别的位置,修改保存,然后在粘贴回来,提示已存在,是否覆盖?是。
方法三:notepad。
以管理员权限,打开命令提示符,把目录切到编辑文件所在的目录, 输入 : notepad 文件名,即可以管理员的权限,记事本的形式,打开文件,修改后保存即可。
2、另外,需要注意的是图中的my.ini位于:C:\ProgramData\MySQL\MySQL Server 5.7,而不是位于:C:\Program Files\MySQL\MySQL Server 5.7。
3.重启MySQL服务
关闭MySQL指令:net stop MySQL
开启MySQL指令:net start MySQL
如果提示服务名无效可能是在装MySQL时无意中更改了MySQL的名称,可以再服务中找到MySQL的名称
4.验证binlog是否开启
mysql> show variables like ‘%log_bin%’; 和 show binary logs;
5.binlog文件的位置
如果在修改my.ini的binlog时给的是全路径,那么生成的日志文件就在指定的目录下;如果如步骤2中只给一个名字,那么生成的binlog日志的位置为:C:\ProgramData\MySQL\MySQL Server 5.7\Data
6.清除日志
登录mysql, 打入命令 RESET MASTER (把之前生成的bin-log日志文件全部重置,释放控件)。
Mysql数据库由于业务原因,数据量增长迅速,general日志、binlog日志也增加较多,占用大部分磁盘空间。
出于节约空间考虑,可进行删除多余binary日志,并设置定期删除操作。
相关参数:“expire_logs_days”、“general_log”
binary日志(此变量值为可动态修改)
查看当前binary日志失效、自动删除的状态:
show global variables like ‘%expire_logs_days%’; 或 select @@global.expire_logs_days;
expire_logs_days此参数为整数型,默认为0(永久不删除),且最小值为0,最大值为99。
expire_logs_days的值可以通过配置文件修改(重启生效)
也可以用set @@global.expire_logs_days=7;指令更改(即时生效,重启失效)
先写这写以后遇到了新的内容在添加