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

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

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

  1. MariaDB [(none)]> SELECT User, Host FROM mysql.user;
  2. +----------+-----------+
  3. | User | Host |
  4. +----------+-----------+
  5. | codepeak | % |
  6. | root | % |
  7. | codepeak | localhost |
  8. | root | localhost |
  9. +----------+-----------+
  10. 4 rows in set (0.000 sec)

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

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

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

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

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

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

bind-address = 127.0.0.1 注释掉即可:

  1. #bind-address = 127.0.0.1

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

相关文章