MySQL数据库mysql-bin日志的管理与维护
2012-04-20 17:24
405 查看
转自:http://www.searchdatabase.com.cn/showcontent_58005.htm
在Mysql中,如果启用mysql-bin日志记录,则Mysql的变更修改都会被记录到日志文件中:
如果使用了配置文件,则可以修改 /etc/my.cnf 把里面的log-bin这一行注释掉,重启mysql服务即可关闭bin日志的记录。
一个客户的数据库,积累了大量的bin日志:
如果没有主从复制,可以通过reset master的方式,重置数据库日志,清除之前的日志文件:
但是如果存在复制关系,应当通过PURGE的方式来清理bin日志:
语法如下:
用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除,这样被给定的日志成为第一个。
例如:
清除3天前的 binlog
BEFORE变量的date自变量可以为’YYYY-MM-DD hh:mm:ss’格式。MASTER和BINARY是同义词。
如果您有一个活性的从属服务器,该服务器当前正在读取您正在试图删除的日志之一,则本语句不会起作用,而是会失败,并伴随一个错误。不过,如果从属服务器是休止的,并且您碰巧清理了其想要读取的日志之一,则从属服务器启动后不能复制。当从属服务器正在复制时,本语句可以安全运行。您不需要停止它们。
要清理日志,需按照以下步骤:
1. 在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
2. 使用SHOW MASTER LOGS获得主服务器上的一系列日志。
3. 在所有的从属服务器中判定最早的日志。这个是目标日志。如果所有的从属服务器是更新的,这是清单上的最后一个日志。
4. 制作您将要删除的所有日志的备份。(这个步骤是自选的,但是建议采用。)
5. 清理所有的日志,但是不包括目标日志,因为从服务器还要跟它同步
常用的命令:
mysql>show slave hosts — 查看所有连接到Master的Slave信息
mysql>show master status — 查看Master状态信息
mysql>show slave status — 查看Slave状态信息
mysql>show binary logs — 查看所有二进制日志
mysql>show binlog events [IN log_file] — 查看二进制日志中的事件
原文出处:http://ourmysql.com/archives/959
在Mysql中,如果启用mysql-bin日志记录,则Mysql的变更修改都会被记录到日志文件中:
mysql> show global variables like ‘%bin%’; +———————————+———————-+ | Variable_name | Value | +———————————+———————-+ | binlog_cache_size | 32768 | | innodb_locks_unsafe_for_binlog | OFF | | log_bin | ON | | log_bin_trust_function_creators | OFF | | max_binlog_cache_size | 18446744073709547520 | | max_binlog_size | 104857600 | | sync_binlog | 0 | +———————————+———————-+ 7 rows in set (0.00 sec) |
一个客户的数据库,积累了大量的bin日志:
mysql> show binary logs; +——————+———–+ | Log_name | File_size | +——————+———–+ | mysql-bin.000064 | 3175623 | | mysql-bin.000065 | 104857696 | | mysql-bin.000066 | 30124812 | | mysql-bin.000067 | 104857882 | | mysql-bin.000068 | 104857829 | | mysql-bin.000069 | 104857910 | | mysql-bin.000070 | 29627738 | | mysql-bin.000071 | 104857777 | | mysql-bin.000072 | 104857857 | | mysql-bin.000073 | 104857728 | | mysql-bin.000074 | 104857739 | | mysql-bin.000075 | 104857775 | | mysql-bin.000076 | 104857686 | | mysql-bin.000077 | 104857875 | | mysql-bin.000078 | 104857927 | | mysql-bin.000079 | 104857827 | | mysql-bin.000080 | 104857856 | | mysql-bin.000081 | 104857762 | | mysql-bin.000082 | 104857797 | | mysql-bin.000083 | 104857860 | | mysql-bin.000084 | 104857751 | | mysql-bin.000085 | 104857925 | | mysql-bin.000086 | 104857791 | | mysql-bin.000087 | 104857838 | | mysql-bin.000088 | 104857749 | | mysql-bin.000089 | 104857836 | | mysql-bin.000090 | 104857988 | | mysql-bin.000091 | 104857807 | | mysql-bin.000092 | 104857691 | | mysql-bin.000093 | 104857834 | | mysql-bin.000094 | 104857647 | | mysql-bin.000095 | 104857814 | | mysql-bin.000096 | 104857830 | | mysql-bin.000097 | 104858049 | | mysql-bin.000098 | 104857862 | | mysql-bin.000099 | 104858089 | | mysql-bin.000100 | 104857760 | | mysql-bin.000101 | 104857650 | | mysql-bin.000102 | 104857794 | | mysql-bin.000103 | 104857656 | | mysql-bin.000104 | 104857961 | | mysql-bin.000105 | 104857725 | | mysql-bin.000106 | 104857804 | | mysql-bin.000107 | 104857925 | | mysql-bin.000108 | 104857717 | | mysql-bin.000109 | 104857678 | | mysql-bin.000110 | 104857675 | | mysql-bin.000111 | 104857897 | | mysql-bin.000112 | 104857947 | | mysql-bin.000113 | 104857651 | | mysql-bin.000114 | 104858066 | | mysql-bin.000115 | 104857766 | | mysql-bin.000116 | 104857719 | | mysql-bin.000117 | 104857732 | | mysql-bin.000118 | 104857733 | | mysql-bin.000119 | 104857814 | | mysql-bin.000120 | 104857763 | | mysql-bin.000121 | 104857680 | | mysql-bin.000122 | 104857742 | | mysql-bin.000123 | 104858011 | | mysql-bin.000124 | 104857708 | | mysql-bin.000125 | 104857821 | | mysql-bin.000126 | 104857877 | | mysql-bin.000127 | 104857735 | | mysql-bin.000128 | 104857781 | | mysql-bin.000129 | 104857743 | | mysql-bin.000130 | 104857858 | | mysql-bin.000131 | 104857860 | | mysql-bin.000132 | 104857809 | | mysql-bin.000133 | 104857711 | | mysql-bin.000134 | 104857744 | | mysql-bin.000135 | 104857802 | | mysql-bin.000136 | 104857672 | | mysql-bin.000137 | 104857933 | | mysql-bin.000138 | 104857758 | | mysql-bin.000139 | 104857657 | | mysql-bin.000140 | 104857664 | | mysql-bin.000141 | 104857715 | | mysql-bin.000142 | 104857881 | | mysql-bin.000143 | 104857958 | | mysql-bin.000144 | 104857917 | | mysql-bin.000145 | 104857771 | | mysql-bin.000146 | 104857731 | | mysql-bin.000147 | 104857770 | | mysql-bin.000148 | 104857864 | | mysql-bin.000149 | 104857726 | | mysql-bin.000150 | 104857885 | | mysql-bin.000151 | 104857817 | | mysql-bin.000152 | 104857909 | | mysql-bin.000153 | 104857665 | | mysql-bin.000154 | 104857647 | | mysql-bin.000155 | 104857880 | | mysql-bin.000156 | 104858010 | | mysql-bin.000157 | 104857821 | | mysql-bin.000158 | 104857649 | | mysql-bin.000159 | 104857930 | | mysql-bin.000160 | 104857856 | | mysql-bin.000161 | 104857673 | | mysql-bin.000162 | 104857969 | | mysql-bin.000163 | 104857848 | | mysql-bin.000164 | 104857656 | | mysql-bin.000165 | 104857721 | | mysql-bin.000166 | 104857758 | | mysql-bin.000167 | 104857934 | | mysql-bin.000168 | 104857753 | | mysql-bin.000169 | 104857833 | | mysql-bin.000170 | 104858059 | | mysql-bin.000171 | 104857766 | | mysql-bin.000172 | 104857865 | | mysql-bin.000173 | 104857741 | | mysql-bin.000174 | 104857922 | | mysql-bin.000175 | 104857776 | | mysql-bin.000176 | 104857720 | | mysql-bin.000177 | 104857647 | | mysql-bin.000178 | 104857977 | | mysql-bin.000179 | 104857736 | | mysql-bin.000180 | 104857725 | | mysql-bin.000181 | 104857883 | | mysql-bin.000182 | 104857810 | | mysql-bin.000183 | 104857707 | | mysql-bin.000184 | 104857799 | | mysql-bin.000185 | 104857977 | | mysql-bin.000186 | 104857804 | | mysql-bin.000187 | 104857861 | | mysql-bin.000188 | 104857665 | | mysql-bin.000189 | 104857872 | | mysql-bin.000190 | 104857870 | | mysql-bin.000191 | 104857891 | | mysql-bin.000192 | 104857742 | | mysql-bin.000193 | 104857830 | | mysql-bin.000194 | 104857873 | | mysql-bin.000195 | 104857750 | | mysql-bin.000196 | 104857669 | | mysql-bin.000197 | 104857867 | | mysql-bin.000198 | 104857702 | | mysql-bin.000199 | 104857974 | | mysql-bin.000200 | 104857866 | | mysql-bin.000201 | 104857742 | | mysql-bin.000202 | 104857688 | | mysql-bin.000203 | 104857654 | | mysql-bin.000204 | 104857895 | | mysql-bin.000205 | 104857709 | | mysql-bin.000206 | 104857922 | | mysql-bin.000207 | 104858019 | | mysql-bin.000208 | 104857790 | | mysql-bin.000209 | 104857655 | | mysql-bin.000210 | 104857996 | | mysql-bin.000211 | 104857956 | | mysql-bin.000212 | 104857659 | | mysql-bin.000213 | 104857835 | | mysql-bin.000214 | 104857643 | | mysql-bin.000215 | 104857999 | | mysql-bin.000216 | 104857770 | | mysql-bin.000217 | 104857672 | | mysql-bin.000218 | 104857753 | | mysql-bin.000219 | 104857795 | | mysql-bin.000220 | 104858032 | | mysql-bin.000221 | 104857861 | | mysql-bin.000222 | 104857896 | | mysql-bin.000223 | 104857694 | | mysql-bin.000224 | 104857747 | | mysql-bin.000225 | 104857861 | | mysql-bin.000226 | 104857783 | | mysql-bin.000227 | 104857680 | | mysql-bin.000228 | 104857882 | | mysql-bin.000229 | 104857688 | | mysql-bin.000230 | 104857756 | | mysql-bin.000231 | 104857744 | | mysql-bin.000232 | 104857759 | | mysql-bin.000233 | 104857794 | | mysql-bin.000234 | 104857863 | | mysql-bin.000235 | 104858031 | | mysql-bin.000236 | 104857902 | | mysql-bin.000237 | 104857715 | | mysql-bin.000238 | 104857746 | | mysql-bin.000239 | 104857839 | | mysql-bin.000240 | 104857845 | | mysql-bin.000241 | 104857771 | | mysql-bin.000242 | 104857692 | | mysql-bin.000243 | 104857806 | | mysql-bin.000244 | 104857927 | | mysql-bin.000245 | 104857729 | | mysql-bin.000246 | 104857961 | | mysql-bin.000247 | 104857687 | | mysql-bin.000248 | 104857872 | | mysql-bin.000249 | 104857881 | | mysql-bin.000250 | 104858045 | | mysql-bin.000251 | 104857817 | | mysql-bin.000252 | 104857901 | | mysql-bin.000253 | 104858075 | | mysql-bin.000254 | 104857730 | | mysql-bin.000255 | 104857756 | | mysql-bin.000256 | 104857927 | | mysql-bin.000257 | 104857892 | | mysql-bin.000258 | 104857738 | | mysql-bin.000259 | 104857914 | | mysql-bin.000260 | 104857774 | | mysql-bin.000261 | 104857892 | | mysql-bin.000262 | 104857941 | | mysql-bin.000263 | 104857845 | | mysql-bin.000264 | 104857732 | | mysql-bin.000265 | 104857881 | | mysql-bin.000266 | 104857782 | | mysql-bin.000267 | 104857927 | | mysql-bin.000268 | 104857881 | | mysql-bin.000269 | 104857791 | | mysql-bin.000270 | 104857749 | | mysql-bin.000271 | 104857777 | | mysql-bin.000272 | 104857879 | | mysql-bin.000273 | 104857767 | | mysql-bin.000274 | 104858094 | | mysql-bin.000275 | 104858023 | | mysql-bin.000276 | 104857726 | | mysql-bin.000277 | 104857810 | | mysql-bin.000278 | 104857868 | | mysql-bin.000279 | 104857861 | | mysql-bin.000280 | 104857695 | | mysql-bin.000281 | 104857974 | | mysql-bin.000282 | 104857873 | | mysql-bin.000283 | 104857787 | | mysql-bin.000284 | 104857778 | | mysql-bin.000285 | 104857901 | | mysql-bin.000286 | 104857999 | | mysql-bin.000287 | 104857860 | | mysql-bin.000288 | 104857698 | | mysql-bin.000289 | 104857773 | | mysql-bin.000290 | 104857751 | | mysql-bin.000291 | 104857741 | | mysql-bin.000292 | 104857926 | | mysql-bin.000293 | 104857693 | | mysql-bin.000294 | 104857684 | | mysql-bin.000295 | 104857892 | | mysql-bin.000296 | 104857697 | | mysql-bin.000297 | 104857985 | | mysql-bin.000298 | 104857656 | | mysql-bin.000299 | 104857683 | | mysql-bin.000300 | 104857695 | | mysql-bin.000301 | 104857646 | | mysql-bin.000302 | 104857812 | | mysql-bin.000303 | 92771646 | +——————+———–+ 240 rows in set (0.00 sec) |
mysql> reset master; Query OK, 0 rows affected (8.51 sec) |
语法如下:
PURGE {MASTER | BINARY} LOGS TO ‘log_name’ PURGE {MASTER | BINARY} LOGS BEFORE ‘date’ |
例如:
PURGE MASTER LOGS TO ‘mysql-bin.010′; PURGE MASTER LOGS BEFORE ’2008-06-23 15:00:00′; |
PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY); |
如果您有一个活性的从属服务器,该服务器当前正在读取您正在试图删除的日志之一,则本语句不会起作用,而是会失败,并伴随一个错误。不过,如果从属服务器是休止的,并且您碰巧清理了其想要读取的日志之一,则从属服务器启动后不能复制。当从属服务器正在复制时,本语句可以安全运行。您不需要停止它们。
要清理日志,需按照以下步骤:
1. 在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
2. 使用SHOW MASTER LOGS获得主服务器上的一系列日志。
3. 在所有的从属服务器中判定最早的日志。这个是目标日志。如果所有的从属服务器是更新的,这是清单上的最后一个日志。
4. 制作您将要删除的所有日志的备份。(这个步骤是自选的,但是建议采用。)
5. 清理所有的日志,但是不包括目标日志,因为从服务器还要跟它同步
常用的命令:
mysql>show slave hosts — 查看所有连接到Master的Slave信息
mysql>show master status — 查看Master状态信息
mysql>show slave status — 查看Slave状态信息
mysql>show binary logs — 查看所有二进制日志
mysql>show binlog events [IN log_file] — 查看二进制日志中的事件
原文出处:http://ourmysql.com/archives/959
相关文章推荐
- Mysql数据库 mysql-bin 日志的管理与维护
- 深入浅出MySQL开发优化和管理维护学习笔记之MySQL日志文件
- MySQL数据库日志的管理与维护
- Mysql:日志管理:维护日志
- Mysql:开启了二进制日志功能 log-bin 的mysql数据库, 如何故障恢复?
- MySQL常用维护管理工具
- 项目实战6—Mysql实现企业级日志管理、备份与恢复实战
- Mysql的开发、维护、管理的读后笔记
- Mysql:日志管理:错误日志
- 【MySQL管理维护-第5章】MySQL字符集
- [Qt] [MySQL] 创建一个触发器让日志管理一劳永逸
- 【MySQL】mysql用户管理、常用sql语句和mysql数据库备份恢复
- CentOS 6.5下的lamp环境rsyslog+MySQL+loganalyzer实现日志集中分析管理
- MySQL常用维护管理工具
- mysql二进制日志(bin-log)配置及相关操作
- MySQL 日志管理
- mysql-bin日志文件清理
- Mysql学习-(3-MySQL数据库管理系统概述)
- windows下安装mysql数据库及环境配置、Navicat for MySQL管理数据库
- Mysql实现企业级日志管理、备份与恢复的实战教程