Articles of mysql replication

使用BinLog进行数据库复制

我正在使用mysql-binlog-connector来监听任何binlog事件,然后在slave DB上执行复制。 我的问题是,binlog在执行之后和提交之前注册事件,所以如果有任何回滚事件仍然从binlog条目中拾取并复制到从属设备上。 有没有办法解决这个问题?

mysql复制失败(没有错误)

我在一个MySQL 5.6服务器(主)复制到混合模式的奴隶。 事情是,我连接到MySQL trought工作台,我执行querys和复制。 但是,如果另一个用户通过相同的方式连接,删除一个寄存器,它在主机上被删除,但不被复制到从机上。 所以寄存器仍然出现。 我不明白为什么它不显示错误。 它连续复制,直到有人试图插入一个具有相同ID的寄存器(因为它没有被删除),然后它失败,显示重复的条目。 有谁知道如何select一个日志,它显示错误? 为什么它连续复制,而不是执行该查询? 谢谢

drdb驱动器上的I / O使用率很高

drdb驱动器上的I / O使用率很高,但底层驱动器上的使用率非常低。 因为底层磁盘使用情况良好,所以忽略DRDB驱动器上的I / O使用情况是正确的。 我们有4个Redhat盒Dell PowerEdge R630(比如a,b,c,d),它们具有以下操作系统/软件包。 RedHat EL 6.5 MySql Enterprise 5.6 DRBD 8.4 Corosync 1.4.7 我们已经设置了4路堆叠的drbd资源,如下所示: 群集群集-1:服务器a和b互相连接本地局域网群集群集-2:服务器c和d 群集群集1和群集2通过虚拟IP通过堆叠的drbd连接,是不同数据中心的一部分。 drbd0磁盘已在每个服务器1GB本地创build,并且还连接到drbd10。 底层正常的磁盘使用情况: – Device: rrqm/s wrqm/sr/sw/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda2 0.00 3718.00 0.00 441.00 0.00 33268.00 75.44 0.06 0.13 0.08 3.35 avg-cpu: %user %nice %system %iowait %steal %idle 1.25 […]

MySQL不会启动,在/ var / log上的磁盘空间不足

长话短说,我发现expire_log_days = 3有点晚了。 我的/ var / log目录完全填满了旧的mysql-bin文件,而且根据google / SEsearch,强烈build议不要手动删除它们。 麻烦的是,我无法进入一个MySQL shell来清理它们,也不能用新的configuration设置expire_log_days来启动服务。 我删除了一些较老的非MySQL日志(价值约500MB),但仍然无法启动mysql。 有没有一个更痛苦的方式呢? [root@box mariadb]# systemctl restart mariadb.service Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details. [root@box mariadb]# journalctl -xe — Subject: Unit session-203.scope has begun start-up — Defined-By: systemd — Support: […]

使另一个主服务器的主服务器从属

我有4个MySQL服务器Master1,Master2,Master3和Master4。 Master1和Master2都是主人,Master3和Master4是主人。 我想做Master1的Master3奴隶。 这可能吗? 下图显示了我目前在BLUE中的设置。 红色的是我想要达到的。 我怎样才能做到这一点?

用mysql主从复制覆盖值

我有一个生产数据库与主从复制正在完成。 生产数据库备份完成从属服务器。 我想这样做,以便任意数量的开发环境可以是副本的副本。 问题是,虽然从服务器没有写任何东西,开发服务器可能会。 就像只是通过web界面login到dev站点一样,可能会触发一个INSERT到一个loginLog表或其他类似的东西,这可能会导致从复制停止,像这样的错误: 无法在表dbname.tablename上执行Write_rows事件; 重复项“15610534”的关键“主”,Error_code:1062; 处理程序错误HA_ERR_FOUND_DUPP_KEY; 事件的主日志bin-log.000829,end_log_pos 8209872 我的问题是…是否有可能build立一个从属数据库,当发现冲突时,主数据库的数据覆盖从属数据库的数据? 这样做的好处将意味着开发人员可以在开发环境中访问实时数据。 就像一个开发人员正在开发一些关于销售的实时报告(例如“排行榜”),这个实时数据可能是有用的。

设置反向DNS时我缺less什么?

我正在设置rDNS以与SolusVM服务器一起使用。 我在两台服务器上使用PowerDNS作为从服务器和主服务器,并成功设置了MySQL复制。 查看MySQLlogging表时,我看到了SOA,NS和PTRlogging。 我创build了两个Alogging(rdns1.example.com,rdns2.example.com),并分别将它们指向主服务器和从服务器。 我更新了arin.net上的IP反向DNS名称服务器,以指向rdns1.example.com和rdns2.example.com 如果我运行“主机146.71.84.4”,它会返回: Host 4.84.71.146.in-addr.arpa not found: 2(SERVFAIL) 如果我运行'dig -x 146.71.84.4',它会返回: ; <<>> DiG 9.9.5-9+deb8u10-Debian <<>> 146.71.84.4 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 41971 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: […]

MySQL复制失败`mysql`.`user`更改

我有一个简单的主从设置MySQL 5.6,每当我修改mysql.user表时,都会一直失败。 主设置为复制两个数据库,这两个数据库都不是mysql数据库。 binlog_format被设置为ROW。 我有各种各样的同事在主人上设置的MySQL用户的select,以改变数据库,但在奴隶,我只有一个用户,这是networking服务器。 当我试图从主站删除冗余用户时,从站失败,并显示以下消息: Error 'Operation DROP USER failed for 'mysql_user'@'localhost'' on query. Default database: ''. Query: 'DROP USER 'mysql_user'@'localhost'' 我不想一直跳过这个错误,因为我现在每次都会对mysql.user表进行更改,而且很容易忘记检查复制是否还在继续。 我没有任何监控设置的复制,所以有几次我更改了MySQL表,没有人注意到了几个小时,这影响了我们的生产Web服务器。 任何帮助非常感谢。

为什么在使用–flush-logs执行mysqldump的时候,mysql slave会死掉?

我在Linux上有一个MySQL复制奴隶。 我正在做一个mysqldump来备份数据库。 我把它指向从服务器来传播负载。 我使用的mysqldump选项包括–flush-logs ,导致mysql服务器–flush-logs 。 它得到一个信号11(即段错误)。 当我没有–flush-logs ,一切正常。 为什么是这样? 更新 :这是/ var / log / syslog的相关部分(这是mysql错误消息在debian系统上的位置) Jun 24 11:01:17 db2 mysqld[30673]: mysqld got signal 11; Jun 24 11:01:17 db2 mysqld[30673]: This could be because you hit a bug. It is also possible that this binary Jun 24 11:01:17 db2 mysqld[30673]: or one of the […]

MySQL – 为什么SHOW SLAVE HOSTS会导致binlog转储?

我们正在MySQL 5.0.x中获取大量的binlog文件。 我们有一个正常的主/从复制事情与1主,1奴隶。 查看/var/log/mysql.log,复制器连接的时间将近90%,并执行SHOW SLAVE HOSTS会导致bin日志转储。 例如: 7020 Query SHOW SLAVE HOSTS 7020 Binlog Dump Log: 'mysql-bin.029634' Pos: 13273 但是,当我在mysql上做SHOW SLAVE HOSTS时,我没有任何结果。 偶尔,当复制器执行SHOW SLAVE HOSTS ,mysql将挂起几个小时。 我同时在/var/log/syslog中看不到任何内容… 这里发生了什么? 我怎样才能更多的debugging? 为了loggingMySQL的主从服务器是Ubuntu的精简版。