目录
问题:
问题原因:
解决方式:
验证远程连接
问题:
虚拟机中的应用( Java 程序)无法访问本地 MySQL 数据库,错误提示为 MySQL 服务器拒绝了连接。

问题原因:
mysql服务器出于安全考虑,默认只允许本地登录数据库服务器。
解决方式:
登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”,然后重启mysql这样就允许所有的远程机器进行访问了。
步骤一:通过cmd命令行登录mysql
MySQL -u root -p
步骤二:创建root用户
mysql> CREATEUSER'root'@'%'IDENTIFIEDBY'root';
步骤三:对其进行授权(表示你想让root从任何主机连接到mysql服务器。)
mysql> grantallprivilegeson*.*to'root'@'%';
执行刷新权限:
flush privileges;
验证远程连接
在远程机器上尝试使用以下命令连接 MySQL:
mysql -h mysql_server_ip -u root -p
将 mysql_server_ip 替换为你的 MySQL 服务器的 IP 地址。
补充:
如果你希望指定特定的主机:
-
为特定 IP 地址授权: 假设您只允许 IP 地址
192.168.1.100访问:GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' IDENTIFIED BY 'your_password'; -
为特定 IP 段授权: 如果希望授权一个 IP 范围(如
192.168.1.%,表示192.168.1.1到192.168.1.254):GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.%' IDENTIFIED BY 'your_password'; - 最后再刷新权限
