【发布时间】:2013-12-04 21:57:43
【问题描述】:
我目前在尝试使用 redhat os 在亚马逊 EC2 上创建 mysql 主/从服务器时遇到问题。在大多数情况下,我都遵循本教程 (http://www.howtoforge.com/how-to-set-up-mysql-database-replication-on-fedora-10)。
当调用 SHOW SLAVE STATUS\G;我明白了:
*************************** 1. row ***************************
Slave_IO_State: Connecting to master
Master_Host: XXX.XXX.XXX.XXX
Master_User: slave_user
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 337
Relay_Log_File: mysqld-relay-bin.000001
Relay_Log_Pos: 4
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: No
Slave_SQL_Running: Yes
Replicate_Do_DB: testdb
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 1
Exec_Master_Log_Pos: 337
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: 2013
Last_IO_Error: error connecting to master 'slave_user@XXX.XXX.XXX.XXX:3306' - retry-time: 60 retries: 86400
Last_SQL_Errno: 0
Last_SQL_Error:
我的奴隶 my.cnf
[mysqld]
server-id=2
master-host=XXX.XXX.XXX.XXX
master-user=slave_user
master-password=slave_password
master-connect-retry=60
replicate-do-db=mosaicschroma
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
和我的主人 my.cnf
[mysqld]
log-bin = /var/log/mysql/mysql-bin.log
binlog-do-db=mosaicschroma
server-id=1
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
当使用 nmap 检查我是否可以 ping 另一台服务器和端口 3306 时,我收到一个过滤报告,我认为这是正确的。
非常感谢任何帮助,谢谢!
【问题讨论】:
-
可能在主服务器上仔细检查权限:
show grants for 'slave_user'@'%' -
感谢您的回复。检查后slave_user已经有授权复制slave
-
另一个想到的是安全组/防火墙规则。来自 nmap 的“过滤”响应并不令人信服。你可以使用cli mysql客户端从slave连接到master吗?这些是 VPC 还是经典 EC2 实例?
标签: mysql amazon-ec2 database-replication