Dec 27

[原]mysql 5.0更新日志的问题 雨

linuxing , 14:32 , 数据库 » Mysql , 评论(0) , 引用(0) , 阅读(25014) , Via 本站原创 | |
  昨天做数据库同步的时候,本来想用日志更新的方式做的,后来发现--log-update选项在my.cnf文件里面加入后,不能生效。
  到http://dev.mysql.com/doc/找5.0的文档看了一下,发现mysql5.0的更新树里面有这样一段话:
引用
Removed the update log. It is fully replaced by the binary log. If the MySQL server is started with --log-update, it is translated to --log-bin (or ignored if the server is explicitly started with --log-bin), and a warning message is written to the error log. Setting SQL_LOG_UPDATE silently sets SQL_LOG_BIN instead (or do nothing if the server is explicitly started with --log-bin).

  也就是说,mysql5.0下面已经用--log-bin代替了--log-update,并且my.cnf文件里面如果已经有log-bin定义的话,就会忽略log-update。难怪昨天的操作会不行。
  找到问题,下一步就要去找解决的方法。
1、启动mysql的log-bin记录
  方法昨天已经做过,就是修改主机上的my.cnf文件,它在FreeBSD系统的路径上一般是/var/db/mysql或/etc目录。
  增加log-bin=/路径/文件名;
  保存后,使用下面的命令激活log-bin服务。
# mysqladmin -uroot -ppassword flush-logs

   如果系统没有使用动态参数文件my.cnf,则可以在启动服务的/usr/local/bin/mysqld_safe参数后面增加--log-bin=/路径/文件名,达到同样的效果。
2、把需要使用到的日志记录文件拷贝到备机上。假设我放到/root/mysql目录,文件名是mysql.bin.000001等。
3、使用mysqlbinlog命令恢复日志
# mysqlbinlog -d test /root/mysql/mysql-bin.000001|mysql -uroot -ppassword


※附录
1、关于mysqlbinlog在mysql 5.0上的使用方法,可以参考:官方资料
2、如果不知道log-bin存放的文件位置,可以使用下面的命令查看:
mysql -uroot -ppassword -e 'SHOW BINLOG EVENTS \G'

3、当只是需要恢复部分记录的时候,你可以使用时间点或位置点来定位,例如:
mysqlbinlog --start-date="2005-04-20 9:01:00" --stop-date="2005-04-20 10:00:01" /var/log/mysql/bin.123456|mysql -uroot -ppassword

意思是恢复4月20日早上9点到10点这一段时间的数据。
mysqlbinlog --start-position="368301" --stop-position="368312"/var/log/mysql/bin.123456| mysql -uroot -pmypwd

意思是重做368301到368312位置点之间的操作。(位置点可以就是用mysqlbinlog看到的at xxx节点)
mysqlbinlog --start-date="2005-04-20 9:55:00" --stop-date="2005-04-20 10:05:00"
      /var/log/mysql/bin.123456 > /tmp/mysql_restore.sql

同样的,如果我们只是想查看某段时间的操作,直接把它导到一个文件即可。
4、mysql不会自动清除日志,可以使用它自带的mysql-log-rotate 脚本或手动编写脚本清除旧日志。
Tags: ,
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]