作者:喝西北风的东北风_711 | 来源:互联网 | 2024-11-29 15:59
最近我在阿里云服务器上安装了MariaDB数据库(它与MySQL非常相似,可以视为MySQL的一个分支)。当尝试通过本地安装的SQlyog客户端远程连接至该数据库时,遇到了如下错误:
2003 - Can’t connect to MySQL server on '39.98.165.xxx' (10060 "unknown error")。这个问题让我困扰了许久,最终找到了解决方法。
需要注意的是,这种错误在尝试使用本地工具远程访问服务器上的服务(例如Redis、MySQL、Oracle、MariaDB等)时十分常见。主要原因是远程服务器上的相关端口未被正确开放或配置,导致外部连接请求被拒绝。
以下是具体的解决方案,按照步骤操作即可解决问题:
1. 赋予MariaDB/MySQL的root用户远程连接权限,允许从任意主机连接至MariaDB/MySQL服务器:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
(请将'your_password'替换为您的实际密码)
2. 刷新权限以使更改生效,并退出数据库:
FLUSH PRIVILEGES; ---刷新权限设置
exit; 或者 quit; ---退出数据库会话
至此,您已成功配置了MariaDB/MySQL服务器接受来自外部的连接请求。
3. 在阿里云服务器上永久开放3306端口,以便允许外部通过该端口访问数据库:
systemctl start firewalld ---启动防火墙服务
firewall-cmd --zOne=public --add-port=3306/tcp --permanent ---添加3306端口到防火墙规则中
4. 重启防火墙服务,确保新的端口配置生效,并检查3306端口是否已被正确开放:
firewall-cmd --reload ---重新加载防火墙配置
firewall-cmd --list-ports ---列出所有开放的端口
完成以上步骤后,您应该能够顺利地通过SQlyog或其他远程客户端连接到阿里云上的MariaDB数据库。希望这些信息对您有所帮助,并能启发您解决类似问题时的思路。