MySQL的日志文件模块启动后才会有日志记录。
创新互联专注为客户提供全方位的互联网综合服务,包含不限于做网站、网站制作、庐阳网络推广、成都微信小程序、庐阳网络营销、庐阳企业策划、庐阳品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供庐阳建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
开启日志服务:
在MY.INI里,MYSQLD项下添加log-bin=mysql。
如果只对某个库进行日志文件记录,那么再添加binlog-do-db=test,这样就只记录test数据库的日志,而放弃其他的。
添加完后,重新启动MYSQL的服务,日志文件开始工作了.
查看是否启用了日志命令:mysqlshow variables like 'log_bin';
查看当前的日志命令:mysql show master status;
看二进制日志文件用mysqlbinlog命令:shellmysqlbinlog mail-bin.000001
开启MySQL日志:
找到my.ini文件
打开 log-bin="D:\log\mysql_bin"
就会生成形如:
mysql_bin.000001
mysql_bin.index
这样的文件。
查看MySQL日志:
D:\mysql\binmysqlbinlog mysql_bin.000001
导出MySQL日志到文本文件:
D:\mysql\binmysqlbinlog D:\mysql\data\mysql_bin.000002 D:\b.txt
更新MySQL日志:
mysqladmin -u root -p password flush-logs
就会生成新的日志文件,序号是连接起来的,比如上一个日志文件名为:
mysql_bin.000001
执行命令后就会生成新的日志文件:
mysql_bin.000002
mysql有以下几种日志:
错误日志: -log-err
查询日志: -log
慢查询日志: -log-slow-queries
更新日志: -log-update
二进制日志: -log-bin
是否启用了日志
mysqlshow variables like 'log_%';
怎样知道当前的日志
mysql show master status;
显示二进制日志数目
mysql show master logs;
看二进制日志文件用mysqlbinlog
shellmysqlbinlog mail-bin.000001
或者
shellmysqlbinlog mail-bin.000001 | tail
在配置文件中指定log的输出位置.
Windows:Windows 的配置文件为 my.ini,一般在 MySQL 的安装目录下或者 c:\Windows 下。
Linux:Linux 的配置文件为 my.cnf ,一般在 /etc 下。
windows下
# 在[mysqld] 中输入
#log
log-error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log"
log="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log"
long_query_time=2
log-slow-queries= "E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"
Linux下
# 在[mysqld] 中输入
#log
log-error=/usr/local/mysql/log/error.log
log=/usr/local/mysql/log/mysql.log
long_query_time=2
log-slow-queries= /usr/local/mysql/log/slowquery.log
mysql 慢查询日志 导出来的方法
在MySQL客户端中输入命令:
show variables like '%quer%';
其中红框标注的选项是:
-slow_query_log是否记录慢查询。用long_query_time变量的值来确定“慢查询”。
-slow_query_log_file慢日志文件路径
-long_query_time慢日志执行时长(秒),超过设定的时间才会记日志
Linux:
在/etc/my.cnf配置文件的[mysqld]选项下增加:
slow_query_log=TRUE
slow_query_log_file=/usr/local/mysql/slow_query_log.txt
long_query_time=3
Windows:
在my.ini配置文件的[mysqld]选项下增加:
slow_query_log=TRUE
slow_query_log_file=c:/slow_query_log.txt
long_query_time=3
重启MySQL后,可发现已经开启慢查询日志
有时候,我们要在命令行登录mysql,然后用source命令执行某sql文件,这样执行时,日志闪得飞快,还没来得及看,一下子就过了。这样不利于我们查看执行过程中的日志,我们不清楚是否存在执行错误的情况。那要怎么记录一下这样的日志呢?用tee就可以
这样会在/tmp目录下产生一个日志文件,接着再执行你想要的source /root/xx.sql命令吧
在mysql命令行执行的所有输出都会记录到这个日志文件里了