MySQL双主热备问题处理

1. Slave_IO_Running: No

mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State:
                  Master_Host: 172.16.1.21
                  Master_User: cahms
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000003
          Read_Master_Log_Pos: 20398
               Relay_Log_File: mysqld-relay-bin.000001
                Relay_Log_Pos: 4
        Relay_Master_Log_File: mysql-bin.000003
             Slave_IO_Running: No
            Slave_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 20398
              Relay_Log_Space: 106
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 1593
                Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).
               Last_SQL_Errno: 0
               Last_SQL_Error:
1 row in set (0.00 sec)

(1) master and slave have equal MySQL server ids

【解决办法】

修改/etc/my.cnf 下的server-id的值,确保master和slave的server-id不一样即可;

(2) Error reading packet from server:

Access denied; you need the REPLICATION SLAVE privilege for this operation ( server_errno=1227)

【解决办法】主服务器给的复制权限不够,重新赋予权限。

```
> grant replication slave on *.* to ‘uname‘@‘对端ip‘ identified by ‘password‘;
> flush privileges;
== e.g ==
> grant replication slave on *.* to ‘root‘@‘172.16.1.21‘ identified by ‘amtium‘;

grant replication slave on . to ‘root’@’172.16.1.23’ identified by ‘amtium’;


**2. Slave_IO_State:**
Waiting to reconnect after a failed master event read
mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting to reconnect after a failed master event read
                  Master_Host: 172.16.1.231
                  Master_User: cahms
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000003
          Read_Master_Log_Pos: 106
               Relay_Log_File: mysqld-relay-bin.000001
                Relay_Log_Pos: 4
        Relay_Master_Log_File: mysql-bin.000003
             Slave_IO_Running: No
            Slave_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 106
              Relay_Log_Space: 106
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
1 row in set (0.00 sec)

【解决办法】

> grant replication slave on *.* to
   ‘root‘@‘172.16.1.228‘ identified by ‘amtium‘;

> grant replication slave on *.* to
  ‘root‘@‘172.16.1.231‘ identified by ‘amtium‘;

> flush privileges;
时间: 2024-08-07 17:00:13

MySQL双主热备问题处理的相关文章

​Keepalive实现mysql双主热备

Keepalive实现mysql双主热备 环境描述: OS: CentoOS6.6_X64 Node1:172.16.10.1 Node2:172.16.10.2 VIP:172.16.10.10 1.配置主机互信 Node1: [[email protected]~]# ifconfig eth0 eth0      Link encap:Ethernet  HWaddr 00:0C:29:11:21:56            inet addr:172.16.100.1  Bcast:17

Mysql双主热备+LVS+Keepalived高可用操作记录

MySQL复制能够保证数据的冗余的同时可以做读写分离来分担系统压力,如果是主主复制还可以很好的避免主节点的单点故障.然而MySQL主主复制存在一些问题无法满足我们的实际需要:未提供统一访问入口来实现负载均衡,如果其中master宕掉的话需要手动切换到另外一个master,而不能自动进行切换.前面介绍了Mysql+Keepalived双主热备高可用方案记录,那篇文档里没有使用到LVS(实现负载均衡),而下面要介绍的就是如何通过Keepalived+LVS方式来是实现MySQL的高可用性,利用LVS

mysql 双主热备

1.A服务器上创建数据库并导入数据库 [[email protected] /]# mysql -u root -p mysql> show databases: mysql> create database cdn: mysql> use cdn: 2.B服务器上创建数据库并导入数据库. [[email protected] /]# mysql -u root -p mysql> show databases: mysql> create database cdn: mys

Mysql + keepalived 实现双主热备读写分离【转】

Mysql + keepalived 实现双主热备读写分离 2013年6月16日frankwong发表评论阅读评论 架构图 系统:CentOS6.4_X86_64软件版本:Mysql-5.6.12,Keepalived-1.2.7环境简介:1.Master-A 192.168.1.168 (Mysql+Keepalived)2.Master-B 192.168.1.169 (Mysql+Keepalived)3.写入VIP 192.168.100 (168主,169从)4.读取VIP 192.1

Linux 下mysql的双主热备

Linux 下mysql的双主热备                             作者:浩浩哥来了 1.数据库同步设置   主机操作系统:RedHatEnterprise Linux 6 数据库版本 前提:MYSQL数据库正常启动 假设两台主机地址分别为:   ServA:192.168.18.112 ServB:192.168.18.114   注意:操作前,全文查找替换,将server A.B替换成实际IP   2.配置同步账号   在ServA上增加一个ServB可以登录的帐号:

Mysql+keeoalived双主热备高可用操作记录

我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.之前梳理了Mysql主从同步,下面说下Mysql+keeoalived双主热备高可用方案的实施. 1)Keepalived的工作原理是VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议.在VRRP中有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器. 2)VRRP路由器

Mysql+Keepalived双主热备高可用操作步骤详细解析

mysql+keepalived双主热备高可用的介绍: 我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服务器的热备,但是一个Master宕机后不能实现动态切换.使用Keepalived,可以通过虚拟IP,实现双主对外的统一接口以及自动检查.失败切换机制,从而实现MySQL数据库的

MySql数据库双主(双向)同步实现数据库双主热备

MySql数据库双主(双向)同步实现数据库双主热备配置步骤有一点复杂,大家一定要看清楚每一步小细节哦,希望文章对各位会带来帮助呀. 之前写过一篇 mysql Master Slave主从同步(复制)配置,属于数据库备份级别的.现在的需求是,两台服务器上都装有数据库,为了防止某一服务器出现问题而影响业务的运行,需要准备两台服务器分别运行mysql,且需要两台服务器的数据是保持同步的.也就是现在要说的mysql双向同步,实现数据库主备模式. 基础环境 操作服务器系统:Ubuntu 12.04 64-

Mysql+Keepalived双主热备高可用操作记录

环境: ubuntu18.04.2 mysql5.7.21 1 #1)安装keepalived并将其配置成系统服务.master1和master2两台机器上同样进行如下操作: 2 apt-get install libssl-dev 3 apt-get install openssl 4 apt-get install libpopt-dev 5 [[email protected] ~]# cd /usr/local/src/ 6 [[email protected] src]# wget h