正在尝试创建数据库复制服务器。我使用以下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条答案
按热度按时间jdg4fx2g1#
发现selinux不允许mysql使用非标准端口。
通过在从属服务器中运行以下命令修复了此问题:
其中,[端口]必须是您的主mysql服务器所使用的端口。这将告诉selinux允许非标准端口。