Debian 10新增MariaDB测试实例无法远程连接,报Host '1.2.3.4'错误
MariaDB测试实例无法远程连接的排查遗漏点
确认测试实例的用户权限是否真实生效
先通过本地socket连接测试实例:mysql -S /tmp/mysql-test.sock -u 你的专用用户名 -p执行以下命令检查权限配置:
SELECT user, host FROM mysql.user WHERE user='你的专用用户名'; SHOW GRANTS FOR '你的专用用户名'@'%';注意:新实例的权限是独立的,不能直接复用主实例的用户数据,必须在测试实例内重新创建远程用户并授权。
检查测试实例的初始化状态
空数据目录/var/lib/mysql-test如果没执行初始化,实例启动时可能仅生成默认的localhost权限用户,专用远程用户根本不存在。执行初始化命令:mysql_install_db --datadir=/var/lib/mysql-test --user=mysql验证测试实例的网络监听状态
执行命令确认进程监听范围:ss -tulpn | grep 3307确保输出显示监听
0.0.0.0:3307或服务器公网IP,而非仅127.0.0.1:3307。排查日志文件冲突问题
当前配置中测试实例和主实例共用了/var/log/mysql/error.log,可能导致测试实例的错误日志被覆盖或无法写入。修改配置为独立日志:[mysqld] log_error = /var/log/mysql/error-test.log重启服务后再次尝试连接,查看新日志的错误信息。
检查服务启动参数是否被覆盖
查看mariadb@test.service的实际启动参数:systemctl show mariadb@test.service | grep ExecStart确认参数中没有额外添加
bind-address=127.0.0.1这类限制网络的配置。
内容的提问来源于stack exchange,提问作者Zsolt
相关产品推荐
相关产品推荐

