日期:2014-05-16  浏览次数:20679 次

[转] MySQL 日志的启用与关闭


在mysql 安装后可以启动 bin-log 功能,以记录数据库的数据操作的记录,必要时候恢复数据,mysql的日志分为以下几种:

错误日志: -log-err

查询日志: -log

慢查询日志: -log-slow-queries

更新日志: -log-update

二进制日志: -log-bin

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

要启动mysql 的二进制日志,很简单,步骤如下:

一 配置mysql 的my.ini,在[mysqld] 下添加

log-bin = C:/Program Files/MySQL/MySQL Server 5.0/log-bin/logbin.log

上面是配置mysql二进制日志存放的目录,目录可以随便指定,我是在mysql安装的根目录下新建了log-bin文件夹作为存放二进制日志文件的目录,在指定路径时要注意以下两点:

1 在目录的文件夹命名中不能有空格,比如“aa bb”文件夹 是不允许的,这样,在访问日志时候会报错;

2 指定目录时候一定要以*.log结尾,即不能仅仅指定到文件夹的级别,如上面我写的logbin.log,这时候,日志文件的名称是logbin.000001 logbin.000002。。。不然不会有日志文件产生。

二 mysql.ini 修改后,保存,然后重启mysql服务,重启后在C:/Program Files/MySQL/MySQL Server 5.0/log-bin 目录下会产生logbin.000001 和 logbin.index 两个文件。

三 查看二进制文件

在dos命令行中,进入到mysql的安装目录下,即C:/Program Files/MySQL/MySQL Server 5.0,再进到bin/目录下,执行mysqlbinlog命令查看日志:

mysqlbinlog ..\log-bin\logbin.000001

值得注意的是后面的路径问题,路径可以使用绝对路径也可以使用相对路径,分隔符可以是“/"也可以是“\”,两种分割符都能正常识别,路径中的文件夹名称中不能有空格 ,这个测试过(如果是绝对路径C:/Program Files/MySQL/MySQL Server 5.0/log-bin/logbin.000001就会报错找不到文件 因为“C:/Program Files”带空格)

为了方便查看日志内容 可以导出到.sql文件

mysqlbinlog ..\log-bin\logbin.000001 ->a.sql

C:\Program Files\MySQL\MySQL Server 5.0\bin>
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqlbinlog ..\log_bin_ljs\logbin.000001
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#100830 16:30:55 server id 1 end_log_pos 98 Start: binlog v 4, server v 5.0.
67-community-nt-log created 100830 16:30:55 at startup
# Warning: this binlog was not closed properly. Most probably mysqld crashed wri
ting it.
ROLLBACK/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/ ;

C:\Program Files\MySQL\MySQL Server 5.0\bin>

?

来源:http://www.linuxidc.com/Linux/2011-05/36177.htm

?