注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

PostgreSQL 中文网

 
 
 

日志

 
 

MySQL:开启 Binary Logging  

2014-12-02 17:11:48|  分类: MySQL |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

         MySQL 的 Binary Logging 日志文件类似 PostgreSQL 的 WAL 和 Oracle 的 redo ,记录数据库的变化信息,开启 binary logging 比较简单,但仍费了些功夫,记录下。
   
一 开启  Binary Logging 功能
--设置 my.cnf

log_bin = on
log_bin_basename = "/database/mysql/data/binlog/bin-log"
binlog_format = "MIXED"


--重启 mysql 失败

[root@db1 ~]# /etc/init.d/mysql restart
Shutting down MySQL....                                    [  OK  ]
Starting MySQL.....The server quit without updating PID fil[FAILED]base/mysql/data/db1.pid).


--db1.err 日志

2014-08-19 11:09:57 24489 [ERROR] /opt/mysql/bin/mysqld: unknown variable 'log_bin_basename=/database/mysql/data/binlog/bin-log'

备注:日志中说 log_bin_basename 设置不对,文档中也没说这个参数不让设置。
http://dev.mysql.com/doc/refman/5.6/en/replication-options-binary-log.html#sysvar_log_bin_basename
后来查了下资料,说是更改 log_bin 参数成日志绝对路径即可,但文档中说 log_bin 参数值为 on 或 off,  感觉很奇怪,先试试。

--重新设置 my.cnf

log_bin = "/database/mysql/data/binlog/bin-log"
binlog_format = "STATEMENT"
binlog_format = "MIXED"

备注:这里没设置  log_bin_basename。而将 log_bin 设置成日志绝对路径。

--重启 mysql

[root@db1 ~]# /etc/init.d/mysql restart
MySQL server PID file could not be found!                  [FAILED]
Starting MySQL.....                                        [  OK  ]

备注:这下可以正常启动了。

--查看变量

root@localhost:(none)>show variables like 'log_bin%';
+---------------------------------+-------------------------------------------+
| Variable_name                   | Value                                     |
+---------------------------------+-------------------------------------------+
| log_bin                         | ON                                        |
| log_bin_basename                | /database/mysql/data/binlog/bin-log       |
| log_bin_index                   | /database/mysql/data/binlog/bin-log.index |
| log_bin_trust_function_creators | OFF                                       |
| log_bin_use_v1_row_events       | OFF                                       |
+---------------------------------+-------------------------------------------+

备注:奇怪,这里 log_bin 显示为 on 了,而 log_bin_basename 变量的值变成之前设置的 log_bin 变量值了。


二 清理  Binary log
--数据库中查看 binary log

root@localhost:francs>show binary logs;  
+----------------+-----------+
| Log_name       | File_size |
+----------------+-----------+
| bin-log.000005 |       143 |
| bin-log.000006 |       143 |
| bin-log.000007 |       165 |
| bin-log.000008 |       165 |
| bin-log.000009 |       723 |
| bin-log.000010 |       165 |
| bin-log.000011 |       285 |
| bin-log.000012 |       459 |
| bin-log.000013 |       143 |
| bin-log.000014 |       143 |
| bin-log.000015 |       143 |
| bin-log.000016 |       374 |
| bin-log.000017 |       143 |
| bin-log.000018 |       418 |
| bin-log.000019 |       143 |
| bin-log.000020 |       143 |
| bin-log.000021 |       143 |
| bin-log.000022 |       143 |
| bin-log.000023 |      1587 |
| bin-log.000024 |       165 |
| bin-log.000025 |       165 |
| bin-log.000026 |       385 |
| bin-log.000027 |       143 |
| bin-log.000028 |       143 |
| bin-log.000029 |       120 |
| bin-log.000030 |       120 |
| bin-log.000031 |       120 |
| bin-log.000032 |       120 |
| bin-log.000033 |       120 |
| bin-log.000034 |       120 |
| bin-log.000035 |       143 |
| bin-log.000036 |     10758 |
+----------------+-----------+
32 rows in set (0.01 sec)


--purge 语法

Description:
Syntax:
PURGE { BINARY | MASTER } LOGS
    { TO 'log_name' | BEFORE datetime_expr }


--清除 binary log

root@localhost:francs>purge binary logs to  'bin-log.000010';
Query OK, 0 rows affected (0.11 sec)

root@localhost:francs>show binary logs;
+----------------+-----------+
| Log_name       | File_size |
+----------------+-----------+
| bin-log.000010 |       165 |
| bin-log.000011 |       285 |
| bin-log.000012 |       459 |
| bin-log.000013 |       143 |
| bin-log.000014 |       143 |
| bin-log.000015 |       143 |
| bin-log.000016 |       374 |
| bin-log.000017 |       143 |
| bin-log.000018 |       418 |
| bin-log.000019 |       143 |
| bin-log.000020 |       143 |
| bin-log.000021 |       143 |
| bin-log.000022 |       143 |
| bin-log.000023 |      1587 |
| bin-log.000024 |       165 |
| bin-log.000025 |       165 |
| bin-log.000026 |       385 |
| bin-log.000027 |       143 |
| bin-log.000028 |       143 |
| bin-log.000029 |       120 |
| bin-log.000030 |       120 |
| bin-log.000031 |       120 |
| bin-log.000032 |       120 |
| bin-log.000033 |       120 |
| bin-log.000034 |       120 |
| bin-log.000035 |       143 |
| bin-log.000036 |     10758 |
+----------------+-----------+
27 rows in set (0.00 sec)

备注:  使用 purge binary logs to  'log_name'  命令将会清理除 log_name 以外之前的 binary logs, 命令执行后 binlog 目录里的 bin-log.index 文件会被更新。

三 参考
  评论这张
 
阅读(479)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016