首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysqld不生成二进制日志。

mysqld不生成二进制日志。
EN

Database Administration用户
提问于 2014-07-03 21:57:44
回答 2查看 124关注 0票数 1

我想弄明白为什么mysqld不再写二进制日志了.

代码语言:javascript
复制
[root@ip-10-179-155-214 mysql]# grep ^log-bin /etc/my.cnf
log-bin=mysql-bin
[root@ip-10-179-155-214 mysql]# ll mysql-bin.*
-rw-rw----. 1 mysql mysql    28463 Jun 27 16:04 mysql-bin.000001
-rw-rw----. 1 mysql mysql  1038814 Jun 27 16:04 mysql-bin.000002
-rw-rw----. 1 mysql mysql      264 Jun 27 16:06 mysql-bin.000003
-rw-rw----. 1 mysql mysql      264 Jun 29 10:22 mysql-bin.000004
-rw-rw----. 1 mysql mysql 23751127 Jun 29 10:30 mysql-bin.000005
-rw-rw----. 1 mysql mysql      264 Jun 29 10:35 mysql-bin.000006
-rw-rw----. 1 mysql mysql 23755331 Jun 29 10:45 mysql-bin.000007
-rw-rw----. 1 mysql mysql      245 Jun 29 10:45 mysql-bin.000008
-rw-rw----. 1 mysql mysql      152 Jun 29 10:45 mysql-bin.index
[root@ip-10-179-155-214 mysql]# date
Thu Jul  3 17:55:13 EDT 2014
[root@ip-10-179-155-214 mysql]# ps auxww | grep mysqld
mysql     4131  0.0  0.0 115348  1688 ?        Ss   Jun29   0:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
mysql     4787  0.1  8.9 3822688 331928 ?      Sl   Jun29  10:13 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/lib/mysql/ip-10-179-155-214.ec2.internal.err --open-files-limit=8192 --pid-file=ip-10-179-155-214.ec2.internal.pid --socket=/var/lib/mysql/mysql.sock --port=3306
root     18996  0.0  0.0 112640   976 pts/2    S+   17:56   0:00 grep --color=auto mysqld
[root@ip-10-179-155-214 mysql]# 

知道我错过了什么吗?

* UPDATE *

代码语言:javascript
复制
MariaDB [(none)]> select @@global.sql_log_bin;
+----------------------+
| @@global.sql_log_bin |
+----------------------+
|                    1 |
+----------------------+
1 row in set (0.00 sec)

MariaDB [(none)]> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000008 |      245 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

MariaDB [(none)]> select NOW() - interval variable_value second from information_schema.global_status where variable_name='uptime';
+----------------------------------------+
| NOW() - interval variable_value second |
+----------------------------------------+
| 2014-06-29 10:45:14.000000             |
+----------------------------------------+
1 row in set (0.00 sec)

MariaDB [(none)]> 
EN

回答 2

Database Administration用户

发布于 2014-07-03 22:18:20

我要检查的东西:

  • 有什么变化吗?二进制日志不包括SELECT查询,只包含更改。比较像ib_logfile*这样的文件的时间戳。
  • 复制过滤器是否排除了正在进行的更改?
  • SQL_LOG_BIN=0正在抑制二进制日志记录时,会话是否正在进行更改,就像@RolandoMySQLDBA建议的那样,还是每个会话都在执行呢?
  • 磁盘满了吗?
  • 您在错误的目录中查看binlog吗?
票数 1
EN

Database Administration用户

发布于 2014-07-07 02:51:45

我刚看到你的评论

Seconds_Behind_Master是0,所以我假设复制本身工作正常,磁盘没有满,我正在寻找正确的位置

问题很简单

  • 已经安装了MySQL复制
  • 2014-06-29 10:45:14 开始,奴隶就一直在运行
    • mysql-bin.000007具有相同的日期时间
    • mysql-bin.000008具有相同的日期时间
    • mysql-bin.index具有相同的日期时间

  • Seconds_Behind_Master为0,因此复制运行良好。

为什么对“奴隶”所做的更改没有对其二进制日志进行修改?

您忘记将日志从更新添加到奴隶上的my.cnf中。

我以前写过这样的文章:MySQL中的多主+从复制

只要将日志从更新添加到my.cnf中,重新启动mysql,一切都会好起来的。

试试看!

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/69687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档