zoukankan      html  css  js  c++  java
  • MySQL双主热备问题处理

    1. Slave_IO_Running: No

    mysql> show slave statusG
    *************************** 1. row ***************************
                   Slave_IO_State:
                      Master_Host: 192.16.10.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'@'192.16.10.21'   
      identified by 'root';
    > grant replication slave on *.* to 'root'@'192.16.10.23' 
      identified by 'root';

    2. Slave_IO_State:

    Waiting to reconnect after a failed master event read
    mysql> show slave statusG
    *************************** 1. row ***************************
                   Slave_IO_State: Waiting to reconnect after a failed master event read
                      Master_Host: 192.16.10.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'@'192.16.10.228'
      identified by 'root';
    
    > grant replication slave on *.* to 'root'@'192.16.10.231'   
      identified by 'root';
    
    > flush privileges;

    3.Another MySQL daemon already running with the same unix socket.

    原因多个Mysql进程使用了同一个socket。 两个方法解决:

    第一个是马上关机 使用命令 shutdown -h now 关机,关机后在启动。进程就停止了。

    第二个直接把mysql.sock文件改名就可以。也能够删除,推荐改名。


    然后就能够启动mysql了。

    以下是国外原文

    To prevent the problem from occurring, you must perform a graceful
    shutdown of the server from the command line rather than powering off
    the server.

    # shutdown -h now

    This will stop the running services before powering down the machine.
    Based on Centos, an additional method for getting it back up again when you run into this problem is to move mysql.sock:

    # mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak
    
    # service mysqld start

    Restarting the service creates a new entry called mqsql.sock


    热门推荐


  • 相关阅读:
    centos7使用yum时报错”Error: rpmdb open failed“
    shell脚本监控httpd进程,如果进程异常自动重启服务
    DNS域名服务系统(二)--基本dns域名解析/主从dns解析
    DNS域名服务系统(一)
    ** server can't find mail.extmail.org: SERVFAIL
    搭建邮件服务器postfix向mysql导入extmail.sql文件时报错 ERROR 1064 (42000) at line 50: You have an error in your SQL syntax; 'TYPE=MyISAM COMMENT='Ext/Webman
    Nginx实现https和跳转功能
    Nginx的反向代理和负载均衡
    Nginx基于域名的虚拟主机
    jquery select chosen禁用某一项option
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5272020.html
Copyright © 2011-2022 走看看