----+--------------+------------------+-------------------+ | mysql-bin.000218 | 514734902 | | | | +------------------+-----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)
如何删除多余的日志
日志的删除
对于比较繁忙的OLTP系统,由于每天生产日志量大,这些日志如果长时间不清理,将会对磁盘空间带来很大的浪费,因此,定期删除日志是DBA维护Mysql数据库的一个重要工作内容,下面将介绍几种删除日志的常见方法:
先去获得mysql中数据存储的位置:
mysql> show variables like "datadir"; +---------------+-----------------+ | Variable_name | Value | +---------------+-----------------+ | datadir | /var/lib/mysql/ | +---------------+-----------------+ 1 row in set (0.00 sec) 这是mysql中的默认存储位置
再去查看master中日志的存储位置:
mysql> show variables like "log%"; +----------------------------------------+-------------------------------+ | Variable_name | Value | +----------------------------------------+-------------------------------+ | log_bin | ON | | log_bin_basename | /mnt/ssd/data/mysql-bin | | log_bin_index | /mnt/ssd/data/mysql-bin.index | | log_bin_trust_function_creators | OFF | | log_bin_use_v1_row_events | OFF | | log_error | /var/log/mysql/error.log | | log_output | FILE | | log_queries_not_using_indexes | OFF | | log_slave_updates | OFF | | log_slow_admin_statements | OFF | | log_slow_slave_statements | OFF | | log_throttle_queries_not_using_indexes | 0 | | log_warnings | 1 | +----------------------------------------+-------------------------------+ 13 rows in set (0.00 sec)
查询slave节点的更新状态:
mysql> show slave status \G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 25.25.2.6 Master_User: gpx_sync Master_Port: 3306 Connect_Retry: 10 Master_Log_File: mysql-bin.000218 Read_Master_Log_Pos: 514734902 Relay_Log_File: mysqld-relay-bin.000669 Relay_Log_Pos: 236 Relay_Master_Log_File: mysql-bin.000218 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: StockData.t_day_stock Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 514734902 Relay_Log_Space: 132818854 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: Replicate_Ignore_Server_Ids: Master_Server_Id: 1 Master_UUID: e61e54d8-1e08-11e5-9160-44a842112d25 Master_Info_File: /var/lib/mysql/master.info SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it Master_Retry_Count: 86400 Master_Bind: Last_IO_Error_Timestamp: Last_SQL_Error_Timestamp: Master_SSL_Crl: Master_SSL_Crlpath: Retrieved_Gtid_Set: Executed_Gtid_Set: Auto_Position: 0 1 row in set (0.00 sec) 这里面我们获得的有用的信息是: Master_Log_File: mysql-bin.000218 Read_Master_Log_Pos: 514734902 Relay_Log_File: mysqld-relay-bin.000669 Relay_Log_Pos: 236 Relay_Master_Log_File: mysql-bin.000218 Slave_IO_Running: Yes Slave_SQL_Running: Yes Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
执行“reset master;”命令,该命令将删除所有二进制日志,新日志的编号从“000001” 开始;
Mysql>reset ma