在华为云服务器上装了 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
工作太忙并且很长时间没配数据库了,遇到个小问题还花费了点时间,记录一下~
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/code_peak/article/details/125070067
内容来源于网络,如有侵权,请联系作者删除!