查询日志
上节课的二进制日志是不包含查询数据的SQL语句,那么我们的查询语句被什么日志记录着呢,这节课的'查询日志'就是记录了客 户端的所有操作语句,其中就包含查询语句。
由于查询日志记录的日志信息比较多,所以默认情况下,查询日志是未开启的
xxxxxxxxxx
show variables like '%general%';#general_log查询日志默认是OFF
开启查询日志
xxxxxxxxxx
#修改MySQL的配置文件 /etc/my.cnf 文件
vim /etc/my.cnf
#把下面那两行粘贴到my.cnf文件里面的末尾行,然后保存退出,表示开启查询日志。0代表关闭,1代表开启
general_log=1 #开启查询日志
general_log_file=/var/lib/mysql/mysql_query.log #日志文件的名字、保存路径。如果不设置,默认是/var/lib/mysql/localhost.log
重启mysql服务
systemctl restart mysqld
查看'查询日志'文件,找一下有没有mysql_query.log文件
cd /var/lib/mysql && ll;
新开一个会话,方便实时查看'查询日志'文件尾部的内容,-f参数表示实时刷新,tail表示查看文件的尾部内容
tail -f mysql_query.log
去mysql执行一些SQL操作
use bilibili;
show tables;
update stu set age = 18;
select * from stu;
create table stu2(id int,age int);
drop table stu2;
去那个'查询日志'的会话,可以发现记录了我们所有的SQL语句(只记录原本的SQL语句,不记录数据变化) 只要你执行了SQL语句就会被记录,所以该查询日志占用会挺大,因为是条SQL语句就会被记录。当我们 在业务中如果暂时用不上该查询日志文件,那么就不要开启,保持默认关闭就行
开启也没什么事,它能记录所有的SQL语句,用来监控挺不错
关闭查询日志
vim /etc/my.cnf #把里面的general_log的1改为0即可
general_log=0 #关闭查询日志