博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL双主热备问题处理
阅读量:5327 次
发布时间:2019-06-14

本文共 4845 字,大约阅读时间需要 16 分钟。

1. Slave_IO_Running: No

mysql> show slave status\G*************************** 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: NULLMaster_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 readmysql> show slave status\G*************************** 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: NULLMaster_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



转载于:https://www.cnblogs.com/gcczhongduan/p/5272020.html

你可能感兴趣的文章
使用gatling做压力测试与负载测试
查看>>
[转载]Linux shell中的竖线(|)——管道符号
查看>>
python 生成器和迭代器
查看>>
集合与数组,集合与集合之间的转换
查看>>
AJAX 数据库实例
查看>>
python-PIL-16bit-灰度图像生成-tiff
查看>>
完全的精确覆盖模板
查看>>
hdu-1312
查看>>
windows窗口添加菜单[SDK]
查看>>
鼠标悬停在图片上出现蒙层的方法
查看>>
ElasticSearch5.0——IK词库加载
查看>>
Struts2基本包作用详解
查看>>
Mysql按时间段分组查询来统计会员的个数
查看>>
HDU 5273 Dylans loves sequence【 树状数组 】
查看>>
斐波那契数列基本性质
查看>>
go语言发送邮件
查看>>
SSM+Jedis初体验
查看>>
JAVA共通関数--シングルクォーテーションをSQL用に追加する
查看>>
暑假第十一测
查看>>
POJ - 2891 中国剩余定理
查看>>