重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
自动记录到二进制日志文件
专注于为中小企业提供成都网站设计、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业高碑店免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
这种日志是MySQL里面主从复制的核心,该日志就是记录一系列改变的操作,比如更新数据、删除数据、插入数据、增加索引、增加表等等,为什么要记录这些改变呢?原因很简单,因为这些日志内容将被从服务器重新执行一遍,这样才能够实现从服务器和主服务器里面的数据表和数据等等一致,当然为了实现主从复制,这个日志还需要和重放日志一起配合使用。
1、WIN的话,在安装目录下,找到my.ini文件
查[mysqld]区段,添加日志的配置
比如说:[mysqld]log=C:/temp/mysql.log
log_slow_queries=C:/temp/mysql_slow.log
long_query_time=1
log指示日志文件存放目录
log_slow_queries指示记录执行时间长的sql日志目录;
long_query_time指示多长时间算是执行时间。
2、LINUX下的话,文件名为my.cnf
Linux下这些配置项其实都有的,只是被注释掉了,删去注释符#之类的就可以了。
你不愿删注释符,愿意的话手工再添加也可以……
然后重启mysql服务就OK了。
我在使用syslog-ng搭建日志服务器中已经讲了如何将syslog-ng配置为中心日志服务器,下面介绍如何将syslogng的日志写入mysql数据库
系统:Gentoo-2007
1、修改/etc/syslog-ng/syslog-ng.conf,添加
CODE:
source s_remote {
udp(ip(0.0.0.0) port(514));
};
destination r_mysql {
program("/usr/bin/mysql -usyslogadmin -psyslogadmin syslog /var/log/mysql.pipe");
pipe("/var/log/mysql.pipe"
template("INSERT INTO logs
(host, facility, priority, level, tag, datetime, program, msg)
VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC',
'$PROGRAM', '$MSG' );\n") template-escape(yes));
};
log { source(s_remote); destination(r_mysql); };
2、建立mysql.pipe文件按
#mkfifo /var/log/mysql.pipe
3、重新启动syslog-ng
#/etc/init.d/syslog-ng restart
这种方法如果结合phpsyslogng一起使用,就可以在浏览器中对日志进行进一步的过滤和查看,非常方便。