第一种情况
一般是防火墙问题
systemctl stop firewalld
关闭防火墙即可
或者是开放3306端口(MySQL默认端口)
#临时开启3306端口
firewall-cmd --add-port=3306/tcp
#永久开启3306端口
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload
第二种情况
root用户
权限不足,拒绝远程ip访问
首先本地登录mysql
mysql -uroot -p[密码]
查看用户权限,允许哪些ip访问
SELECT user, host FROM mysql.user WHERE user = 'root';
若只有localhost,说明只允许本地访问
设置允许所有ip可以访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root密码' WITH GRANT OPTION;
如果想允许特定ip可以访问,将“%”修改为需要的ip即可
刷新使生效
FLUSH PRIVILEGES;
指定用户
修改指定用户需要管理权限,所以还是用root先登录MySQL
然后切换至存储用户信息的数据库
use mysql
再查看指定用户的权限
select user, host from user where user = '[指定用户用户名]';
修改为所有ip可以访问
update user set host = '%' where user = '[指定用户用户名]';
同样的要想指定ip可以访问,只要将“%”改为想要的ip即可
刷新生效
FLUSH PRIVILEGES;

被折叠的 条评论
为什么被折叠?



