自动记录到二进制日志文件
成都创新互联公司2013年至今,先为临河等服务建站,临河等地企业,进行企业商务咨询服务。为临河企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
这种日志是MySQL里面主从复制的核心,该日志就是记录一系列改变的操作,比如更新数据、删除数据、插入数据、增加索引、增加表等等,为什么要记录这些改变呢?原因很简单,因为这些日志内容将被从服务器重新执行一遍,这样才能够实现从服务器和主服务器里面的数据表和数据等等一致,当然为了实现主从复制,这个日志还需要和重放日志一起配合使用。
1、首先找到MySQL的配置文件my.cnf,在[mysqld]下添加
2、general_log_file=~/query.log
3、同时,登录MySQL console中设置打开log
4、mysql -uroot
5、 SET global general_log = 1;
6、重启MySQL之后就可以在当前用户的HOME目录中通过query.log查看SQL日志了。
(转载)
如何开启windows mysql日志与查询功能?请看本文吧。
修改 my.ini文件
加入以下语句(在没有设置的前提下)
复制代码代码如下:
log-error=d:/log/mysql/mysql_log_err.txt
log=d:/log/mysql/mysql_log.txt
#log-bin=d:/log/mysql/mysql_log_bin
log-slow-queries= d:/log/mysql/mysql_log_slow.txt
使用以下命令查看是否启用了日志
复制代码代码如下:
mysqlshow variables like ’log_%’;
其他:
1.错误日志
记录启动、运行或停止mysqld时出现的问题。
My.ini配置信息:
复制代码代码如下:
#Enter a name for the error log file. Otherwise a default name will be used.
#log-error=d:/mysql_log_err.txt
2.查询日志
记录建立的客户端连接和执行的语句。
My.ini配置信息:
复制代码代码如下:
#Enter a name for the query log file. Otherwise a default name will be used.
#log=d:/mysql_log.txt
3.更新日志
记录更改数据的语句。不赞成使用该日志。
My.ini配置信息:
复制代码代码如下:
#Enter a name for the update log file. Otherwise a default name will be used.
#log-update=d:/mysql_log_update.txt
4.二进制日志
记录所有更改数据的语句。还用于复制。
My.ini配置信息:
复制代码代码如下:
#Enter a name for the binary log. Otherwise a default name will be used.
#log-bin=d:/mysql_log_bin
5.慢日志
记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。
My.ini配置信息:
复制代码代码如下:
#Enter a name for the slow query log file. Otherwise a default name will be used.
#long_query_time =1
#log-slow-queries= d:/mysql_log_slow.txt
用下列方法可以强制服务器启用新的MySQL更新日志: ◆ Mysqladmin flush-logs 你一般需要在命令行提供使用的数据库用户: Mysqladmin –u root –p flush-logs ◆ Mysqladmin refresh 你一般需要在命令行提供使用的数据库用户: Mysqladmin –u root –p refresh 如果你正在使用Mysql 3.21或更早的版本,你必须使用Mysqladmin refresh。 ◆ SQL命令FLUSH LOGS◆ 重启服务器 上述方法都具有这样的功能: 关闭并且再打开标准和更新记录文件。
MySQL分为两大部分。上层是 MySQL-Server ,下层是 可插拔的存储引擎 。
binlog 存放的位置由 datadir 参数控制
执行下面的查询语句即可:
目录下有两种文件: binlog.0000XX 和 binlog.index
一般关于binlog的配置都写在MySQL的配置文件中: my.cnf , 以方便启动mysql时直接让这些配置生效
常见的binlog有如下的作用
在my.ini中加上下面两句话
log-slow-queries = D:\wamp\mysql_slow_query.log
long_query_time=5
第一句使用来定义慢查询日志的路径(因为是windows,所以不牵涉权限问题)
第二句使用来定义查过多少秒的查询算是慢查询,我这里定义的是5秒
第二步:查看关于慢查询的状态
执行如下SQL语句来查看mysql慢查询的状态
show variables like '%slow%';
执行结果会把是否开启慢查询、慢查询的秒数、慢查询日志等信息打印在屏幕上。
第三步:执行一次慢查询操作
其实想要执行一次有实际意义的慢查询比较困难,因为在自己测试的时候,就算查询有20万条数据的海量表,也只需要0.几秒。我们可以通过如下语句代替:
SELECT SLEEP(10);
第四步:查看慢查询的数量
通过如下sql语句,来查看一共执行过几次慢查询:
show global status like '%slow%';
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款