安全删除MySQL主从复制二进制日志技巧

  • 爵特猛
  • 2018-4-2 09:23
  • 其它
  • 672

//删除日志之前,先检查主从服务器当前使用的日志文件,


 

 代码如下 复制代码


//首先登录 要删除日志的服务器的 mysql 终端

#mysql -u root -pxxxxx



//检查复制主服务器状态

Mysql>show master status



+------------------+-----------+--------------+----------------------------------------+

| File             | Position  | Binlog_Do_DB | Binlog_Ignore_DB                       |

+------------------+-----------+--------------+----------------------------------------+

| mysql-bin.000097 | 541677824 | www      | test,mysql,information_schema |

+------------------+-----------+-------------+----------------------------------------+



//复制主服务器当前正在使用的日志文件是:mysql-bin.000097


 

 代码如下 复制代码


//检查复制从服务器状态

Mysql>show slave statusG



*************************** 1. row ***************************

               Slave_IO_State: Waiting for master to send event

                  Master_Host: 202.102.152.3

                  Master_User: replication

                  Master_Port: 3306

                Connect_Retry: 60

              Master_Log_File: mysql-bin.000103

          Read_Master_Log_Pos: 675107897

               Relay_Log_File: www-relay-bin.000443

                Relay_Log_Pos: 675097929

        Relay_Master_Log_File: mysql-bin.000103

             Slave_IO_Running: Yes

            Slave_SQL_Running: Yes

              Replicate_Do_DB: www

          Replicate_Ignore_DB: test,mysql,information_schema

           Replicate_Do_Table:

       Replicate_Ignore_Table:

      Replicate_Wild_Do_Table:

  Replicate_Wild_Ignore_Table:

                   Last_Errno: 0

                   Last_Error:

                 Skip_Counter: 0

          Exec_Master_Log_Pos: 675107897

              Relay_Log_Space: 675098125

              Until_Condition: None

               Until_Log_File:

                Until_Log_Pos: 0

           Master_SSL_Allowed: No

           Master_SSL_CA_File:

           Master_SSL_CA_Path:

              Master_SSL_Cert:

            Master_SSL_Cipher:

               Master_SSL_Key:

        Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

                Last_IO_Errno: 0

                Last_IO_Error:

               Last_SQL_Errno: 0

               Last_SQL_Error:



//复制从服务器当前正在使用的复制主服务器日志文件是:mysql-bin.000103



//当前正在使用的日志文件是000097,我需要做的是删除00095号之前的所有日志(预留出最近几天的日志)

 代码如下 复制代码


Mysql>purge master logs to ‘mysql-bin.000095;



#ll /usr/local/mysql/var/



//从结果中发现,编号000097之前的所有日志都已经删除



//如果还有其他服务器需要清理日志,重新按上面的顺序进行就可以

本文为爵特猛原创文章,转载无需和我联系,但请注明来自爵特猛博客www.juetemeng.com