直切正题
最简单的原因是因为防火墙未关闭,首先排除firewalld错误
临时关闭防火墙:
关闭之后可测试连接,若连接依旧不成功,则继续下一步操作;
[root@eva ~]# systemctl stop firewalld #本次关闭防火墙
登录MySQL数据库:
这是最简洁连接MySQL的语句,默认root用户登录
标准SQL登录语句:mysql -u用户名 -p'密码' ,其中u后面直接写用户名,p后加转义符'',实则不加也可以。
[root@eva ~]# mysql -pYu09090. #-p后为密码'Yu09090.'
进入mysql库:
mysql> use mysql
更改权限:
我更改的是root权限,实际应用中更改看情况,root换成要更换用户即可;
mysql> update user set host = '%' where user = 'root';
刷新权限:
mysql> flush privileges;
重新连接即可。
扩展:如果公司发测试机,为了便利,可以永久关闭防火墙和selinux
[root@eva ~]# systemctl disable firewalld #永久关闭防火墙
selinux相较繁琐一些:
首先打开selinux的配置文件
[root@eva ~]# vim /etc/sysconfig/selinux
其次把其中的selinux更换
SELINUX=disabled
wq保存退出。
重启虚拟机即可实现目的。可用以下两个代码查看状态:
[root@eva ~]# init 6 #重启虚拟机
[root@eva ~]# systemctl status firewalld #查看防火墙状态
[root@eva ~]# getenforce #查看selinux状态