针对MySQL5 二进制日志(binary logs)常用命令
2011-10-04 05:25
225 查看
最近频繁接到数据库服务器磁盘空间不足的告警,实际上数据库文件本身不大,主要是半年多累积的binary logs大,尤其是有主从配置的DB。查看了很多资料,总结了一下常用的专门针对binary logs的mysql命令:
1. Binary logs 位置:
1)查看/etc/my.cnf (Windows下为my.ini), 例如:
log_bin=/var/mydb/bin-log
如果该设置没带路径,就放在datadir=/var/lib/mysql 下
2) 到数据库查看是否开启binary log 功能:
mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin | ON |
+---------------+-------+
1 row in set (0.00 sec)
mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin | OFF |
+---------------+-------+
1 row in set (0.01 sec)
如果是OFF就没有以下工作了:)
2. 查看当前工作的logfile名及大小: show binary logs /show master logs;
mysql> show binary logs;
+-----------------+-----------+
| Log_name | File_size |
+-----------------+-----------+
| bin-log.000011 | 148329 |
+-----------------+-----------+
mysql> show master logs;
+-----------------+-----------+
| Log_name | File_size |
+-----------------+-----------+
| bin-log.000011 | 148329 |
+-----------------+-----------+
mysql> show binary logs;
ERROR 1381 (HY000): You are not using binary logging ###没有开启binary logs
3. 清除所有binary logs;
1)
mysql> show master logs;
+-----------------+-----------+
| Log_name | File_size |
+-----------------+-----------+
| log-bin.000001 | 259548 |
| log-bin.000002 | 37200 |
| log-bin.000003 | 74219 |
+-----------------+-----------+
3 rows in set (0.00 sec)
mysql> reset master; (在slave上,用reset slave,之前应stop slave,之后再start slave)
Query OK, 0 rows affected (0.00 sec)
mysql> show master logs;
+-----------------+-----------+
| Log_name | File_size |
+-----------------+-----------+
| log-bin.000001 | 98 |
+-----------------+-----------+
1 row in set (0.00 sec)
4. 清除指定部分logs:
mysql>purge binary logs to 'log-bin.000012';
将log-bin.000012之前的binary logs清掉;
mysql>purge binary logs before '2011-05-28 12:05:38';
将指定时间之前的binary logs清掉;
5.查看当前binary log的情况:
mysql>show master status;
6. 查看binary logs的内容:
mysql>show binlog events;
命令行下:
#mysqlbinlog /var/log/mysql/log-bin.000140; 或者
#mysqlbinlog --start-datetime='2011-07-01 00:00:00' --stop-datetime='2010-07-15 00:00:00' /var/log/mysql/log-bin.000020 > ./tmp.log
7. 在my.cnf/my.ini中设定binary logs回滚天数:
expire_logs_days = 7
1. Binary logs 位置:
1)查看/etc/my.cnf (Windows下为my.ini), 例如:
log_bin=/var/mydb/bin-log
如果该设置没带路径,就放在datadir=/var/lib/mysql 下
2) 到数据库查看是否开启binary log 功能:
mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin | ON |
+---------------+-------+
1 row in set (0.00 sec)
mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin | OFF |
+---------------+-------+
1 row in set (0.01 sec)
如果是OFF就没有以下工作了:)
2. 查看当前工作的logfile名及大小: show binary logs /show master logs;
mysql> show binary logs;
+-----------------+-----------+
| Log_name | File_size |
+-----------------+-----------+
| bin-log.000011 | 148329 |
+-----------------+-----------+
mysql> show master logs;
+-----------------+-----------+
| Log_name | File_size |
+-----------------+-----------+
| bin-log.000011 | 148329 |
+-----------------+-----------+
mysql> show binary logs;
ERROR 1381 (HY000): You are not using binary logging ###没有开启binary logs
3. 清除所有binary logs;
1)
mysql> show master logs;
+-----------------+-----------+
| Log_name | File_size |
+-----------------+-----------+
| log-bin.000001 | 259548 |
| log-bin.000002 | 37200 |
| log-bin.000003 | 74219 |
+-----------------+-----------+
3 rows in set (0.00 sec)
mysql> reset master; (在slave上,用reset slave,之前应stop slave,之后再start slave)
Query OK, 0 rows affected (0.00 sec)
mysql> show master logs;
+-----------------+-----------+
| Log_name | File_size |
+-----------------+-----------+
| log-bin.000001 | 98 |
+-----------------+-----------+
1 row in set (0.00 sec)
4. 清除指定部分logs:
mysql>purge binary logs to 'log-bin.000012';
将log-bin.000012之前的binary logs清掉;
mysql>purge binary logs before '2011-05-28 12:05:38';
将指定时间之前的binary logs清掉;
5.查看当前binary log的情况:
mysql>show master status;
6. 查看binary logs的内容:
mysql>show binlog events;
命令行下:
#mysqlbinlog /var/log/mysql/log-bin.000140; 或者
#mysqlbinlog --start-datetime='2011-07-01 00:00:00' --stop-datetime='2010-07-15 00:00:00' /var/log/mysql/log-bin.000020 > ./tmp.log
7. 在my.cnf/my.ini中设定binary logs回滚天数:
expire_logs_days = 7
相关文章推荐
- oracle里的常用命令(一):日志管理
- Linux常用查看日志命令tail
- linux常用命令 、查看日志、web排查
- tomcat常用日志清理命令
- nginx常用命令管理及升级 | 日志分析 | 脚本编写
- 查看日志常用命令
- nginx 日志统计常用命令
- linux系统中如何查看日志 (常用命令)
- 常见日志文件和常用命令
- RedHat Linux常见的日志文件和常用命令
- shell常用命令及正则辅助日志分析统计
- linux环境下查看日志常用命令
- 常用日志命令记录一下
- Cent OS常见的日志文件和常用命令(一)
- linux查看日志常用的一个命令
- secure CRT常用的查看服务器日志命令
- RAC监听日志与CRS日志 及常用命令
- 常用服务器日志分析命令
- 常用日志类命令
- Nginx Log日志统计分析常用命令