vmware虚拟机centos7上的MySQL主从报错怎么解决

60次阅读
没有评论

共计 4830 个字符,预计需要花费 13 分钟才能阅读完成。

本篇内容主要讲解“vmware 虚拟机 centos7 上的 MySQL 主从报错怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“vmware 虚拟机 centos7 上的 MySQL 主从报错怎么解决”吧!

环境描述:
用 vmware workstation 装的 centos 7,并做了 MySQL 主从
主库 IP:192.168.0.1
从库 IP:192.168.0.2

查看从库状态,发现有错误:
mysql show slave status \G
*************************** 1. row ***************************
  Slave_IO_State:
  Master_Host: 192.168.0.1
  Master_User: repl
  Master_Port: 3306
  Connect_Retry: 60
  Master_Log_File: mysql-bin.000003
  Read_Master_Log_Pos: 275142280
  Relay_Log_File: localhost-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: 275142280
  Relay_Log_Space: 154
  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 UUIDs; these UUIDs must be different for replication to work.
  Last_SQL_Errno: 0
  Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
  Master_Server_Id: 1
  Master_UUID:
  Master_Info_File: /usr/local/mysql/data/master.info
  SQL_Delay: 0
  SQL_Remaining_Delay: NULL
  Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
  Master_Retry_Count: 86400
  Master_Bind:
  Last_IO_Error_Timestamp: 171008 14:02:31
  Last_SQL_Error_Timestamp:
  Master_SSL_Crl:
  Master_SSL_Crlpath:
  Retrieved_Gtid_Set:
  Executed_Gtid_Set:
  Auto_Position: 0
  Replicate_Rewrite_DB:
  Channel_Name:
  Master_TLS_Version:
1 row in set (0.00 sec)

查看主库的 server_id 变量

mysql show global variables like server_id
+—————+——-+
| Variable_name | Value |
+—————+——-+
| server_id  | 1  |
+—————+——-+
1 row in set (0.09 sec)

查看从库的 server_id 变量
mysql show global variables like server_id
+—————+——-+
| Variable_name | Value |
+—————+——-+
| server_id  | 2  |
+—————+——-+
1 row in set (0.00 sec)

查看主从库的 server_uuid, 发现是一样的值
mysql show global variables like server_uuid
+—————+————————————–+
| Variable_name | Value  |
+—————+————————————–+
| server_uuid  | ddfd39f0-ab3a-11e7-931a-000c296ce70e |
+—————+————————————–+
1 row in set (0.00 sec)

原因是第二台机器是克隆的第一台的虚拟机,所以 server_uuid 一样

解决方法:
重新生成第二台机器的 server_uuid 值。

找到如下文件并重命令:
[root@localhost data]# cat /usr/local/mysql/data/auto.cnf
[auto]
server-uuid=ddfd39f0-ab3a-11e7-931a-000c296ce70e

[root@localhost data]# cd /usr/local/mysql/data
[root@localhost data]# mv auto.cnf auto.cnf.bak

重启 mysql:
[root@localhost data]# service mysqld restart
Shutting down MySQL…. SUCCESS!
Starting MySQL. SUCCESS!

发现生成了新的 server_uuid:
[root@localhost data]# cat auto.cnf
[auto]
server-uuid=ad5691da-abf0-11e7-81a8-000c299df6f5

再次登陆从库 mysql 并查询状态,状态已正常:
[root@localhost data]# mysql -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.18-log MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type help; or \h for help. Type \c to clear the current input statement.

mysql show slave status \G
*************************** 1. row ***************************
  Slave_IO_State: Waiting for master to send event
  Master_Host: 192.168.0.1
  Master_User: repl
  Master_Port: 3306
  Connect_Retry: 60
  Master_Log_File: mysql-bin.000003
  Read_Master_Log_Pos: 275142280
  Relay_Log_File: localhost-relay-bin.000003
  Relay_Log_Pos: 320
  Relay_Master_Log_File: mysql-bin.000003
  Slave_IO_Running: Yes
  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: 275142280
  Relay_Log_Space: 531
  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: 0
Master_SSL_Verify_Server_Cert: No
  Last_IO_Errno: 0
  Last_IO_Error:
  Last_SQL_Errno: 0
  Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
  Master_Server_Id: 1
  Master_UUID: ddfd39f0-ab3a-11e7-931a-000c296ce70e
  Master_Info_File: /usr/local/mysql/data/master.info
  SQL_Delay: 0
  SQL_Remaining_Delay: NULL
  Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
  Master_Retry_Count: 86400
  Master_Bind:
  Last_IO_Error_Timestamp:
  Last_SQL_Error_Timestamp:
  Master_SSL_Crl:
  Master_SSL_Crlpath:
  Retrieved_Gtid_Set:
  Executed_Gtid_Set:
  Auto_Position: 0
  Replicate_Rewrite_DB:
  Channel_Name:
  Master_TLS_Version:
1 row in set (0.00 sec)

到此,相信大家对“vmware 虚拟机 centos7 上的 MySQL 主从报错怎么解决”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-01发表,共计4830字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)