MySQL 日志管理

一、日志管理

默认情况下,所有日志创建于mysqld数据目录中。

rpm安装的日志是在 /var/lib/mysql

其他方式安装的为自定义路径。

备份之前需要打开慢查询日志,指定慢查询路径,指定慢查询时间。打开二进制日志,同时指定id.

打开之后会有记录数据

1.1 查看当前错误日志信息:

(每一种安装方式下的安装路径不一致,具体以查询为准。)

mysql> show global variables like '%log_error%'; 

1.2是否记录警告日志

mysql> SHOW GLOBAL VARIABLES LIKE '%log_warnings%'; 

1.3 通用查询日志

1.查看日志输出的类型
mysql> SHOW GLOBAL VARIABLES LIKE '%log_output%';
2.查看默认配置
SHOW GLOBAL VARIABLES LIKE '%general_log%'; 

永久更改,须在配置中更改,如下:

在配置文件中增加以下三行信息:

  

再重启服务:

#systemctl restart mysqld

1.4 慢查询日志

mysql> SHOW GLOBAL VARIABLES LIKE '%slow_query_log%'; 

没有开时再配置文件中开启:

mysql> system vim /etc/my.cnf 

mysql> system systemctl restart mysqld
mysql> \
mysql> exit
Bye
[root@mysqlserver ~]# mysql -uroot -p'MySQL@123';
mysql> SHOW GLOBAL VARIABLES LIKE '%slow_query_log%';
+---------------------+-------------------------------+
| Variable_name       | Value                         |
+---------------------+-------------------------------+
| slow_query_log      | ON                            |
| slow_query_log_file | /var/lib/mysql/node1-slow.log |
+---------------------+-------------------------------+
2 rows in set (0.01 sec)

mysql> 

重启之后再次连接,显示已开启。

多久之后慢查询呢?

mysql> SHOW GLOBAL VARIABLES LIKE 'long_query_time'; 

更改慢查询时间:

永久更改:在配置文件中更改
mysql> system vim /etc/my.cnf
在mysql下添加此条命令:
[mysql]
long_query_time=3  

再次重启服务:
mysql> system systemctl restart mysqld
mysql>SHOW GLOBAL VARIABLES LIKE 'long_query_time';
此时显示已生效。

 

1.5 二进制日志

myusql5.6版本之上的版本一定要先配置mysql_id = 134

[root@mysqlserver ~]# vim /etc/my.cnf
添加:
log_bin=mysql-bin
[root@mysqlserver ~]# systemctl restart mysqld
此时重启会报错,
查看错误日志信息:
#grep -i error /var/log/mysqld.log
由于是5.7版本,则必须在配置文件中添加:
server_id=134
此时再重新启动,显示没有问题。

 

错误日志存放位置:  

[root@mysqlserver ~]# ls /var/lib/mysql

查看错误日志信息:

[root@mysqlserver ~]# mysqlbinlog 

5.7版本信息已加密,查看需要进一步解密。

执行flush-logs或者重启服务,错误日志就会增加一个。

错误日志累计增加过多,只想保留最近的10条错误日志:

查看有哪些二进制日志文件:

 mysql> show binary logs;

 查看当前正在使用哪一个二进制错误日志文件:

mysql> show master status;

查看二进制内容:

mysql> show binlog events in 'mysql-bin.000013'; 

删除二进制日志:

严禁使用rm等命令直接删除日志文件,可能导致数据库的崩溃。

删除所有日志:
mysql> reset master;
删除到哪一个编号之前的:
mysql> purge master logs to 'mysql-bin.000013';
查看所有日志文件:
mysql> system ls /var/lib/mysql/mysql-bin* 

删除二进制日志文件:

二进制日志文件不能直接删除的,如果使用rm等命令直接删除日志文件,可能导致数据库的崩溃。

必须使用命令PURGE删除日志,语法如下:PURGE { BINARY | MASTER } LOGS { TO 'log_name' | BEFORE datetime_expr }

 

做备份之前要打开的日志:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值