MySQL 数据库——日志管理

x33g5p2x  于9个月前 转载在 Mysql  
字(1.4k)|赞(0)|评价(0)|浏览(80)

前言

  • MySQL日志的默认保存位置为: /usr/local/mysql/data
  • 日志开启的两种方法:永久性修改:通过配置文件 或者 临时性修改:通过命令,关闭或重启服务后就会关闭

一、MySQL的日志类型

类型:错误日志、通用查询日志、二进制日志、慢查询日志

1.错误日志

  • 用于记录当MySQL的启动和停止时,以及在运行过程中发生的错误信息,默认已开启
  • 默认保存在 MySQL 的安装路径 data 文件夹下,后缀名为 .err
  • 在MySQL配置文件中可以指定日志文件的保存位置和文件名
vim /etc/my.cnf
[mysqld]
log-error=/usr/local/mysql/data/mysql_error.log #开启错误日志,并指定文件存放位置和文件名

2.通用查询日志

  • 用来记录MySQL的所有连接和语句,默认时关闭的
  • 修改 MySQL 配置文件可以打开通用查询日志
generak_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log
#开启通用查询日志
#指定文件保存位置及文件名

3.二进制日志

  • 记录数据的更改
  • 主要目的时在恢复数据时能够最大程度地恢复数据库
  • 默认是开启,在data文件夹下,以mysql-bin命名
  • 数据量大时,它会自动分割多个日志文件,以数字作为扩展名
log-bin=mysql-bin
#开启二进制日志

4.慢查询日志

  • 记录所有执行时间超过kong_query_time秒的SQL语句
  • 用于找到哪些查询语句执行时间长,以便对其优化,默认是关闭的
slow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
long_query_time=5

#开启慢查询日志
#指定存放慢查询日志的位置及文件名
#超过5s执行的语句被记录

5.实操

systemctl restart mysqld.service

#保存退出后,重启 mysql 服务生效

二、查看日志

1.查看错误日志

cd /usr/local/mysql/data/
ls

2.查看通用日志是否开启

mysql -uroot -p123123

show variables like 'general%';

3.查看二进制日志是否开启

  • 注:这里是每次重启都会生成一个新的慢查询日志文件
  • 复习一下:每次重启都是保存重启前的操作,也即记录了数据的更改

show variables like 'log_bin%';

4.查看慢查询日功能是否开启

show variables like '%slow%';

show variables like 'long_query_time';
#查看慢查询时间设置

set global slow_query_log=ON;
#在数据库中设置开启慢查询的方法
#使用该方法重启服务会失效

总结

  • MySQL日志类型:错误日志、通用查询日志、二进制日志、慢查询日志
  • 查看日志是否开启
mysql -uroot -p
show variables like 'general%';	  #查看通用日志是否开启
show variables like 'log_bin%';   #查看二进制日志是否开启
show variables like '%slow%';     #查看慢查询日功能是否开启
show variables like 'long_query_time';  ##查看慢查询时间设置

set global slow_query_log=ON;     #在数据库中设置开启慢查询的方法,使用该方法重启服务会失效

相关文章