我已经看过很多教程,回答过很多问题,但仍然无法让它发挥作用。
我在 Debian 11 服务器上安装了 MariaDB 10.5。我们昨天更改了它的 IP 地址,从那时起我们就无法进行远程连接。数据库回答“拒绝访问数据库上的用户@主机”
我们创建了一些用户来测试:
GRANT ALL PRIVILEGES ON db.* TO 'user'@'host.domain.com' IDENTIFIED BY 'something';
本地连接可以正常工作吗?
是的,因为我们授予了本地主机访问权限。
您是否已验证用户已被正确添加?
我想是这样:
MariaDB [(none)]> SELECT User, Host FROM mysql.user WHERE Host <> 'localhost';
+--------------+------------------------+
| User | Host |
+--------------+------------------------+
| user | host.domain.com |
| root | 127.0.0.1 |
| root | ::1 |
+--------------+------------------------+
3 rows in set (0.00 sec)
您解除防火墙的封锁了吗?
是的,因为我们收到“访问被拒绝”错误。因此,我们进入了数据库。
您是否检查过 my.cnf 文件的设置是否正确?
my.cnf (/etc/my.cnf) 中的错误设置可能会导致其拒绝连接。这些是 skip-networking 和 bind-address。我的文件如下所示:
#
# This group is read by the client library
# Use it for option that affect all clients, but not the server
#
[client]
#
#
#
[client-mariadb]
服务器文件包含 bind-address 指令以允许远程连接
bind-address = 0.0.0.0
您检查过其他配置文件吗?
是的。
telnet 能工作吗?
是的。
您记得重新启动吗?
是的。我在所有尝试之间重新开始使用它:
service mariadb restart
我们找不到该服务器的问题所在。