WEB开发网
开发学院数据库MySQL Linux下MySQL数据库目录多出的文件有什么用? 阅读

Linux下MySQL数据库目录多出的文件有什么用?

 2009-06-12 10:43:01 来源:WEB开发网   
核心提示:今天再次重现Blog了,虽然很忙,Linux下MySQL数据库目录多出的文件有什么用?,还是要来写一下Blog的,嘻,如果我们只是想查看某段时间的操作,直接把它导到一个文件即可,首先还是一样先谢谢Sery 今天发现了我的Linux下Mysql数据库目录多了好多Mysql-bin.0000X这些文件,经过自己查找资料和

今天再次重现Blog了,虽然很忙,还是要来写一下Blog的,嘻,首先还是一样先谢谢Sery

今天发现了我的Linux下Mysql数据库目录多了好多Mysql-bin.0000X这些文件,经过自己查找资料和,咨询Sery确认了这些就是二进制日志文件,因为数据库重要,所以步步要小心,我需要非常确认这些文件可以删除才删除,有人会说为什么删除呢,因为文件太大了,占用了我24G,后来经常Sery说,知道了可以直接进入目录删除和进入Mysql用命令删除,我用了命令删除,用了如下命令:

mysql>SHOW MASTER LOGS;

此命令显示目前二进制日志的数目

然后

mysql> PURGE MASTER LOGS TO ‘这个是显示出来的日志名’;

就搞定了

找了一些文章

1、

mysql>SHOW MASTER LOGS;

此命令显示目前二进制日志的数目。

然后

mysql> PURGE MASTER LOGS TO ‘binary-log.xxx’;

除了命令中给出的日志之后的外,其他的二进制日志全部删除。

具体如下:

PURGE MASTER LOGS

PURGE { MASTER|BINARY } LOGS TO ‘log_name’

PURGE { MASTER|BINARY } LOGS BEFORE ‘date’

BEFORE变量的date自变量可以为'YYYY-MM-DD hh:mm:ss'格式。MASTER和BINARY是同义词。

例如:

PURGE MASTER LOGS TO 'mysql-bin.010';

PURGE MASTER LOGS BEFORE '2008-07-12 13:00:00';

2、清理步骤:

1. 在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。

2. 使用SHOW MASTER LOGS获得主服务器上的一系列日志。

3. 在所有的从属服务器中判定最早的日志。这个是目标日志。如果所有的从属服务器是更新的,这是清单上的最后一个日志。

4. 制作您将要删除的所有日志的备份。(这个步骤是自选的,但是建议采用。)

5. 清理所有的日志,但是不包括目标日志我

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[code]

意思是恢复4月20日早上9点到10点这一段时间的数据。

[code]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:Linux MySQL 数据库

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接