首先ping一下虚拟机ip,如果ping的通就说明可以正常连接虚拟机,ping不通可以检查是否虚拟机联网。

然后xshell运行下面指令查看虚拟机防火墙情况:

systemctl status iptables

如果报错Unit iptables.service could not be found.,则需要先安装防火墙:

yum install iptables-services

然后启动防火墙:

systemctl enable iptables
systemctl start iptables

再去编辑防火墙配置文件,打开3306端口(如果没有修改mysql默认端口号的话):

vim /etc/sysconfig/iptables

默认开启了22端口,可在下面添加3306的那一行以开启3306端口
在这里插入图片描述

保存退出后重启防火墙:

systemctl restart iptables

再在本机尝试连接数据库:

mysql -uroot -hIP地址 -p

发现仍然报错说不允许连接mysql,是因为mysql默认只允许本机用户访问,这时候我们可以创建一个新用户并赋予它相关权限,第一条指令中的%是指允许用户从任意主机登陆,如果有只允许用处从某一ip登陆的需求,可以将%改成ip地址,注意用户名没有引号。

create user 用户名@'%' identified by '密码';
grant all on *.* to 用户名@'%';
flush privileges;

然后就可以在本机登录了:

mysql -u用户名 -hIP地址 -p

如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:瞳孔的个人空间

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐