项目场景:
在window 下的cmd 中想访问自己虚拟机上的数据库mysql
问题描述:
在输入mysql -h ip -u root -p 然后输入密码 提示ERROR 1130 (HY000): Host ‘192.168.78.128’ is not allowed to connect to this MySQL server
解决方案:
启动 mysql 服务,输入命令 “ systemctl start mysqld.service ”
检查 mysql 服务器是否启动,输入命令 “ systemctl status mysqld.service ”
2、在服务器本地输入命令 “ mysql -u root -p ” 然后输入命令 “ use mysql; ” 切换到 mysql 数据库,
成功切换到 mysql 数据库后,如下图:
3、查询用户信息用户账户与主机的对应关系,输入查询语句 “ select Host,User from user; ”
当前的 root 对应的主机为 “ localhost ” ,如下图
4、将 root 对应的主机修改为 “ % ” ,表示匹配任意字符,
输入修改语句 “ update user set Host=’%’ where User =‘root’ limit 3; ”
修改成功后,如下图:
注意:% 分号可以改为服务器本地 IP -> 192.168.78.128,加上 limit 在数据较多的情况下,可以提高性能。
5、用户账户配置修改完成后,还需要进行强制刷新,输入命令 “ flush privileges; ”
刷新完成后,输入命令 “ quit ” 退出 mysql ,如下图
6、重启 mysql 服务,输入命令 “ systemctl restart mysqld.service ”
然后就可以了