mysql日志服务

开启错误日志

错误日志:记录 MySQL 服务器启动、关闭及运行错误等信息

默认开启,配置方式如下

查看默认错误文件位置
mysql -uroot -p123
mysql> show variables like '%log_error%';
+---------------------+----------------------------+
| Variable_name       | Value                      |
+---------------------+----------------------------+
| binlog_error_action | ABORT_SERVER               |
| log_error           | /var/lib/mysql/error.log   |
| log_error_verbosity | 3                          |
+---------------------+----------------------------+
3 rows in set (0.00 sec)


修改默认错误日志文件路径
vim /etc/my.cnf
在[mysqld]中添加:
[mysqld]
log_error=/var/log/mysql.errlog  #错误日志文件路径

touch /var/log/mysql.errlog
chmod 640 /var/log/mysql.errlog 
chown mysql.mysql /var/log/mysql.errlog 
systemctl restart mysqld

查看是否修改成功
mysql -uroot -p123
mysql> show variables like '%log_error%';
+---------------------+----------------------------+
| Variable_name       | Value                      |
+---------------------+----------------------------+
| binlog_error_action | ABORT_SERVER               |
| log_error           | /var/log/mysql.errlog   |
| log_error_verbosity | 3                          |
+---------------------+----------------------------+
3 rows in set (0.00 sec)

开启一般查询日志

一般查询日志:记录所有sql语句

默认不开启,开启方法如下

方式一:更改my.cnf配置文件(永久添加)

vim /etc/my.cnf

在[mysqld]中添加:
[mysqld]
general_log=on  #开启日志
general_log_file=/var/log/select.log  #日志文件路径

创建日志文件
touch /var/log/select.log
chmod 640 /var/log/select.log
chown mysql.mysql /var/log/select.log
systemctl restart mysqld

查看是否开启,为on则开启
mysql -uroot -p123
mysql> show variables like 'general_%';
+------------------+--------------------------------+
| Variable_name    | Value                          |
+------------------+--------------------------------+
| general_log      | ON                             |
| general_log_file | /var/log/select.log            |
+------------------+--------------------------------+
2 rows in set (0.00 sec)

方式二:使用mysql控制台开启(临时)

mysql -uroot -p123

查看当前日志输入类型(默认输出到file文件)
mysql> show variables like 'log_output';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | FILE  |
+---------------+-------+
1 row in set (0.00 sec)

查看普通日志输出文件地址
mysql> show variables like 'general%';
+------------------+------------------------------------------+
| Variable_name    | Value                                    |
+------------------+------------------------------------------+
| general_log      | OFF                                      |
| general_log_file | /usr/local/mysql/data/VM-12-7-centos.log |
+------------------+------------------------------------------+
2 rows in set (0.00 sec)

开启一般日志
mysql> set global general_log = 'ON';
Query OK, 0 rows affected (0.00 sec)

修改日志文件路径
mysql> set global general_log_file='/var/log/select.log';
Query OK, 0 rows affected (0.00 sec)


创建日志文件
touch /var/log/select.log
chmod 640 /var/log/select.log
chown mysql.mysql /var/log/select.log
systemctl restart mysqld


查看是否开启
mysql -uroot-p123
mysql> show variables like 'general_%';
+------------------+--------------------------------+
| Variable_name    | Value                          |
+------------------+--------------------------------+
| general_log      | ON                             |
| general_log_file | /var/log/select.log            |
+------------------+--------------------------------+
2 rows in set (0.00 sec)

开启慢查询日志

慢查询日志:记录在MySQL中响应时间超过阀值的语句

默认不开启,开启方法如下

方式一:更改my.cnf配置文件(永久添加)

vim /etc/my.cnf

在[mysqld]中添加:
[mysqld]
slow_query_log = 1  #指定是否开启慢查询日志
slow_query_log_file=/var/log/slow.log  #指定慢日志文件存放位置(默认在data)
long_query_time=0.05  #设定慢查询的阀值(默认10s)
log_queries_not_using_indexes=ON  #不使用索引的慢查询日志是否记录到日志

创建日志文件
touch /var/log/slow.log
chmod 640 /var/log/slow.log
chown mysql.mysql /var/log/slow.log
systemctl restart mysqld

mysql -uroot -p123
mysql> show variables like 'slow_query%';
+---------------------+--------------------------------+
| Variable_name       | Value                          |
+---------------------+--------------------------------+
| slow_query_log      | ON                             |
| slow_query_log_file | /var/log/slow.log              |
+---------------------+--------------------------------+
2 rows in set (0.00 sec)

方式二:mysql控制台开启(临时添加)

查看是否开启慢查询
mysql> show variables like 'slow_query%';
+---------------------+--------------------------------+
| Variable_name       | Value                          |
+---------------------+--------------------------------+
| slow_query_log      | OFF                            |
| slow_query_log_file | /var/lib/mysql/slow.log        |
+---------------------+--------------------------------+
2 rows in set (0.00 sec)

查询超过多少秒才记录
mysql> show variables like 'long_query%';
+-----------------+----------+
| Variable_name   | Value    |
+-----------------+----------+
| long_query_time | 1.000000 |
+-----------------+----------+
1 row in set (0.00 sec)

开启慢查询
mysql> set global slow_query_log='ON';
Query OK, 0 rows affected (0.00 sec)


更改慢日志文件路径
mysql> set global slow_query_log_file='/var/log/slow.log';
Query OK, 0 rows affected (0.00 sec)

查询超过多少秒才记录的时间
mysql> set global long_query_time=1;
Query OK, 0 rows affected (0.00 sec)

创建日志文件
touch /var/log/slow.log
chmod 640 /var/log/slow.log
chown mysql.mysql /var/log/slow.log
systemctl restart mysqld

查看是否开启日志
mysql -uroot -p123
mysql> show variables like 'slow_query%';
+---------------------+--------------------------------+
| Variable_name       | Value                          |
+---------------------+--------------------------------+
| slow_query_log      | ON                             |
| slow_query_log_file | /var/log/slow.log              |
+---------------------+--------------------------------+
2 rows in set (0.00 sec)

配置文件开启日志汇总

 vim /etc/my.cnf
在[mysqld]中添加:
[mysqld]
log_error=/var/log/mysql.errlog       #记录错误日志
general_log=on
general_log_file=/var/log/select.log  #记录所有的sql语句
slow_query_log = 1
slow_query_log_file=/var/log/slow.log # 记录在MySQL中响应时间超过阀值的语句
long_query_time=0.05
log_queries_not_using_indexes=ON


touch /var/log/mysql.errlog
chmod 640 /var/log/mysql.errlog 
chown mysql.mysql /var/log/mysql.errlog 

touch /var/log/select.log
chmod 640 /var/log/select.log
chown mysql.mysql /var/log/select.log

touch /var/log/slow.log
chmod 640 /var/log/slow.log
chown mysql.mysql /var/log/slow.log
systemctl restart mysqld
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值