EdenWang 发表于 2013-2-7 03:43:03

MYSQL的二进制日志

MYSQL的二进制日志
mysql有以下几种日志:
错误日志:   -log-err
查询日志:   -log
慢查询日志:   -log-slow-queries
更新日志:   -log-update
二进制日志: -log-bin

是否启用了日志
mysql>show variables like 'log_%';


怎样知道当前的日志
mysql> show master status;

显示二進制日志數目
mysql> show master logs;

看二进制日志文件用mysqlbinlog
shell>mysqlbinlog mail-bin.000001   和mysql.exe是同样的命令
或者shell>mysqlbinlog mail-bin.000001 | tail


在配置文件中指定log的輸出位置.
Windows:Windows 的配置文件为 my.ini,一般在 MySQL 的安装目录下或者 c:\Windows 下。
Linux:Linux 的配置文件为 my.cnf ,一般在 /etc 下。

在linux下:
# 在 中輸入   
#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
windows下:



Sql代码
# 在 中輸入   
#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"

在mysql的安装目录下,打开my.ini,在后面加上上面的参数,保存后重启mysql服务就行了。
例如:
#Enter a name for the binary log. Otherwise a default name will be used.
#log-bin=
#Enter a name for the query log file. Otherwise a default name will be used.
#log=
#Enter a name for the error log file. Otherwise a default name will be used.
log-error=
#Enter a name for the update log file. Otherwise a default name will be used.
#log-update=
log-bin=c:/a.log在c盘目录 下将生成a.000001和a.index
开启慢查询
long_query_time =2 --是指执行超过多久的sql会被log下来,这里是2秒
log-slow-queries= /usr/local/mysql/log/slowquery.log --将查询返回较慢的语句进行记录

log-queries-not-using-indexes = nouseindex.log --就是字面意思,log下来没有使用索引的query

log=mylog.log --对所有执行语句进行记录
页: [1]
查看完整版本: MYSQL的二进制日志