今天上班有个有趣的事情,我在windowsserver创建了数据库,但有趣的是我安装完,服务器外的电脑无法访问。
我在windows server 服务器 搭建了mariadb 172.18.0.192 3306端口 账号密码为 root 123456.
但是我在外部电脑中访问不了,就连网站都可以访问,但就是数据库访问不到,我是用navicat也不行。使用navicat 测试连接 他会告诉我172.18.3.109 is not allowed to connect to his mariadb server,为什么会换一个ip提示连接不了??我该怎么办
1.放开防火墙。
2.核心原因)
登录 MariaDB 执行以下命令,确认用户 root 是否允许远程 IP 连接:
sqlCopy Code
SELECT user, host FROM mysql.user WHERE user = 'root';
如果 host 列为 localhost 或 172.18.0.192,需重新授权:
sqlCopy Code
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
若已存在 root@% 用户,直接更新权限:
sqlCopy Code
ALTER USER 'root'@'%' IDENTIFIED BY '123456';
MariaDB 默认限制 root
用户仅允许本地登录;需显式授权 %
通配符允许所有 IP 访问。