Windows通过ODBC连接AWS Ubuntu上的Moodle MariaDB失败求助
解决Windows ODBC连接AWS Ubuntu上MariaDB失败的问题
除了开放3306端口,还需要从以下三个层面排查配置:
AWS 侧配置
- 确认EC2安全组的入站规则已允许Windows客户端的IP(或
0.0.0.0/0临时测试)访问3306 TCP端口;若启用了网络ACL,需同步检查其入站、出站规则是否开放3306端口,避免ACL阻断连接。 - 确保ODBC配置中填写的是EC2实例的公网IP/弹性IP,而非内网IP。
Ubuntu 服务器侧配置
- 检查Ubuntu自带的
ufw防火墙是否拦截了3306端口,执行以下命令开放并生效:sudo ufw allow 3306/tcp sudo ufw reload - 用
nc -zv <服务器公网IP> 3306测试端口连通性,返回succeeded则端口正常,否则继续排查防火墙或AWS配置。
MariaDB 数据库侧配置
- 修改绑定地址:默认MariaDB仅允许本地访问,编辑配置文件(通常为
/etc/mysql/mariadb.conf.d/50-server.cnf),找到bind-address行,将值改为0.0.0.0(允许所有IP访问)或你的Windows客户端公网IP,之后重启服务:sudo systemctl restart mariadb - 授权远程访问权限:确保ODBC使用的数据库用户拥有从Windows客户端IP访问的权限,执行以下SQL语句(替换占位符):
临时测试可先用GRANT ALL PRIVILEGES ON moodle.* TO '你的用户名'@'你的Windows公网IP' IDENTIFIED BY '你的密码'; FLUSH PRIVILEGES;'%'代替客户端IP(允许所有IP),连接正常后再限制为具体IP以保障安全。
内容的提问来源于stack exchange,提问作者jos3m
相关产品推荐
相关产品推荐

