在centos虚拟机上成功安装mysql服务后,尝试通过windows上的workbench客户端进行连接时,遇到了诸多问题。以下是解决这些问题的详细步骤记录。
1.在Windows上ping CentOS的IP地址是通的,但在Workbench上配置后,出现了如下提示,
同时,在Windows命令行中输入 telnet 192.168.199.129 3306 执行时,得到的反馈是:could not open connection to the host, on port 3306。
在线查询后,推测可能是3306端口未开放,首先检查3306端口的使用情况,
3306端口未被其他进程占用。接着查看CentOS7中改用firewall的防火墙状态,
firewall防火墙正在运行。检查3306端口是否开放,输入 firewall-cmd --query-port=3306/tcp,如果结果是no,则执行 firewall-cmd --permanent --add-port=3306/tcp 开放3306端口,
然后重启防火墙,输入 firewall-cmd --reload。
2.完成上述操作后,再次在Windows命令行中输入 telnet 192.168.199.129 3306 执行,得到的提示是:host is not allowed to connect mysql。
经网络查询,发现可能涉及权限问题,有两种解决方案,
第一个方法,可能是你的账号仅允许从本地登陆,只能在localhost的计算机上登入mysql后,修改 "mysql" 数据库里的 "user" 表中的 "host" 项,从"localhost"改为"%",
在CentOS虚拟机中进入MySQL,执行以下语句,
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
但修改后仍然无法解决,继续提示 host is not allowed to connect mysql。
尝试第二个方法,通过授权解决问题,例如你想让myuser使用mypassword从任何主机连接到MySQL服务器,执行以下语句,
mysql>grant all privileges on . to 'myuser'@'%' identified by 'mypassword' with grant option;
mysql>flush privileges;
执行后成功解决问题,可以通过Workbench成功连接到MySQL服务。
:
以上就是远程连接MySQL服务器的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号