MariaDB复制从站到主服务器连接的权限被拒绝

时间:2018-12-15 23:54:11

标签: mysql mariadb database-replication

尝试创建数据库复制服务器。我使用以下SQL设置了从属服务器:

CHANGE MASTER TO MASTER_HOST='[IP OF MASTER SERVER]', MASTER_USER='replication_user', 
MASTER_PASSWORD='[PASSWORD]', MASTER_PORT=[PORT], MASTER_LOG_FILE='master1- 
bin.000001', MASTER_LOG_POS=42266, MASTER_CONNECT_RETRY=10;

运行SHOW SLAVE STATUS \ G:时出现此错误。

 Last_IO_Error: error connecting to master 'replication_user@[IP]:[PORT]' - retry-time: 10  maximum-retries: 86400  message: Can't connect to MySQL server on '[IP]' (13 "Permission denied")

如果运行以下命令,我便能够从从属服务器访问我的主mysql服务器:

mysql -ureplication_user -p[PASSWORD] -h [IP] -P [PORT]

绑定地址和跳过网络在主服务器cnf文件中被注释掉。 创建复制用户时,我还在Master中执行了以下SQL:

CREATE USER ‘replication_user’@’%’ INDETIFIED BY ‘[PASSWORD]’;
GRANT REPLICATION SLAVE ON *.* TO ‘replication_user’@’%’;

我正在为主服务器上的mysql服务器使用自定义端口,我也在主服务器的防火墙中为其打开了此端口。

1 个答案:

答案 0 :(得分:1)

发现SElinux不允许mysql使用非标准端口。

通过在从属服务器上运行以下命令解决了该问题:

sudo /usr/sbin/semanage port -a -t mysqld_port_t -p tcp [PORT]

[PORT]必须是用于主mysql服务器的端口。这将告诉SElinux允许非标准端口。