MySQL双主热备问题处理
2016-03-13 14:55
393 查看
1. Slave_IO_Running: No
(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)
【解决的方法】主服务器给的复制权限不够。又一次赋予权限。
2. Slave_IO_State:
【解决的方法】
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.
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:
Restarting the service creates a new entry called mqsql.sock
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: 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 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: 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
相关文章推荐
- 使用Loadrunner11录制MySQL协议脚本
- 学习数据库之MySql数据库
- MySQL数据库总结(11)索引
- Mysql数据库常用分库和分表方式
- MySQL数据库总结(10)存储引擎与事务处理
- MySql语句大全:创建、授权、查询、修改等(转)
- MySQL数据库总结(9)触发器
- MySql之ALTER命令用法详细解读(转)
- 修改mysql root 密码 及 mysql 远程访问
- MySQL数据库总结(8)字符集与校对集
- MySQL数据库总结(7)视图
- MySQL数据库总结(6)列类型及列的增删改
- MySQL数据库总结(5)左连接,右连接,内连接
- MySQL数据库总结(4)子查询与联合
- Ubuntu15.10操作mysql5.6数据库
- MySQL中复制数据表中的数据到新表中的操作教程
- 在Ubuntu上使用apt-get安装MySQL+安全优化
- 在Ubuntu上源码安装MySQL+安装问题解决+安全优化
- mysql中日期时间型解析
- 【Mysql】----安装教程