华为云服务器装数据库远程连接被拒绝

x33g5p2x  于2022-05-31 转载在 其他  
字(0.7k)|赞(0)|评价(0)|浏览(382)

在华为云服务器上装了 MariaDB,并且为用户授予了远程连接的权限,查看用户信息如下,Host 为 % 是可以远程连接的:

MariaDB [(none)]> SELECT User, Host FROM mysql.user;
+----------+-----------+
| User     | Host      |
+----------+-----------+
| codepeak | %         |
| root     | %         |
| codepeak | localhost |
| root     | localhost |
+----------+-----------+
4 rows in set (0.000 sec)

用户添加后,进行了权限刷新,flush privileges; 而且还重启了数据库服务。

但使用数据库可视化工具 Navicat 连不上,然后就想到了云服务器端口是否开放。
进入自己的云服务器控制台,点击云服务器实例,找到安全组,然后在你当前使用的安全组中点击配置规则,编辑入方向规则和出方向规则,将数据库端口加一下(默认为3306),然后继续尝试连接。

发现 Navicat 依旧连不上,还是一样被拒绝,又查了查 3306 端口的占用情况:

CodePeak@ubuntu-20-04-server:~$ netstat -an | grep 3306
tcp       0      0 127.0.0.1:3306                 0.0.0.0:*                    LISTEN

看到 3306 端口绑定的 IP 是 127.0.0.1,我似乎知道了问题所在,需要修改一下 MySQL 服务的配置文件:

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

bind-address = 127.0.0.1 注释掉即可:

#bind-address            = 127.0.0.1

工作太忙并且很长时间没配数据库了,遇到个小问题还花费了点时间,记录一下~

相关文章