MySQL slave无法通过SSH隧道连接

时间:2015-05-17 06:49:08

标签: mysql amazon-web-services ssh database-replication slave

我在AWS中设置了一个MySQL服务器,在AWS之外(在中国托管)设置了另一个应该相互复制的服务器。

目前工作正常,两台服务器都在运行。

现在我正在设置另一个AWS和中国托管服务器群集,但由于某种原因中国奴隶无法连接到AWS实例。

我设置了一个类似于之前在端口3307上运行的SSH隧道。

如果我登录到我的中文托管MySQL服务器并执行:

mysql -h 127.0.0.1 -P 3307 -u replicationuser -p

它可以很好地连接到AWS实例。但是,当我使用以下内容设置复制时:

CHANGE MASTER TO 
MASTER_HOST='127.0.0.1',
MASTER_USER='replicationuser ',
MASTER_PASSWORD='XXXXX',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=107,
MASTER_PORT=3307;

然后运行slave start;它会出现以下错误:

2003 | error connecting to master 'replicationuser@127.0.0.1:3307'

有没有人知道为什么这不起作用,而我的其他设置完全相同并且工作正常。

我可以通过SHH隧道连接,但我的奴隶不能。相反,AWS实例可以很好地连接到中文托管的MySQL服务器。

修改

my.cnf在server1上看起来像这样:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
server-id=1
log-bin=mysql-bin
auto_increment_increment=2
auto_increment_offset=2

# 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

并在server2上:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
server-id=2
log-bin=mysql-bin
auto_increment_increment=2
auto_increment_offset=1

# 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

0 个答案:

没有答案