mysql中mysql-bin.0000xx文件的来源及处理方法

    PHP与Mysql admin 829次浏览 已收录

    MySQL数据库中,mysql-bin.000001mysql- bin.000002等文件是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去的。

    这样做主要有以下两个目的:

    1:数据恢复

    如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。

    2:主从服务器之间同步数据

    主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。

    处理方法分两种情况:

    1:只有一个mysql服务器,那么可以简单的注释掉这个选项就行了。

    vi /etc/my.cnf把里面的log-bin这一行注释掉,重启mysql服务即可。

    2:如果你的环境是主从服务器,那么就需要做以下操作了。

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

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

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

    D:清理所有的日志,但是不包括目标日志,因为从服务器还要跟它同步。

     

    如何删除mysql-bin.0000X 日志文件呢?

    红色表示输入的命令.

    1. [root@jiucool var]# /usr/local/mysql/bin/mysql -u root -p
    2. Enter password: (输入密码)
    3. Welcome to the MySQL monitor. Commands end with ; or \g.
    4. Your MySQL connection id is 264001
    5. Server version: 5.1.35-log Source distribution
    6. Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
    7. mysql> reset master; (清除日志文件)
    8. Query OK, 0 rows affected (8.51 sec)
    9. mysql>   到此文件就全部清空完毕了

    如果以后,想不用到这些日志,可以直接在 my.cnf中关闭。。

    vi /etc/my.cnf      log-bin这一行注释掉   重启mysql 即可!


    乐趣公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明mysql中mysql-bin.0000xx文件的来源及处理方法
    喜欢 (1)