专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » mysql数据库文件:Linux下MySQL数据库目录多出的文件有什么用? »正文

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

来源: 发布时间:星期四, 2009年2月12日 浏览:79次 评论:0


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

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

mysql>SHOW MASTER LOGS;
此命令显示目前 2进制日志数目

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

就搞定了

找了些文章

1、
mysql>SHOW MASTER LOGS;
此命令显示目前 2进制日志数目
然后
mysql> PURGE MASTER LOGS TO ‘binary-log.xxx’;
除了命令中给出日志的后其他 2进制日志全部删除
具体如下:
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 脚本或手动编写脚本清除旧日志
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: