解决mysql中只能通过localhost访问不能通过ip访问的问题

原因是没开权限

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

SELECT * FROM USER WHERE USER='root';

grant all privileges on *.* to 'root'@'%' identified by '123456';
flush privileges;


1. 命令行进入mysql(假设root用户的密码也为root)
mysql –uroot –proot

2. 使用mysql数据库
use mysql;

3. 赋予权限
grant all privileges on *.* to ’root’@’%’ identified by ’root’;
其中*.*的意思是 所有库.所有表, 'root'@'%' identified by 'root'的前一个root是用户名,%是指所有访问ip,后一个root是指密码
这当然是一个糙汉子的赋权限方法,一个安静的女子应该将她写得优美而具体,比如:
grant all privileges on mdb.mtbl to ’beautiful’@’10.38.62.233’ identified by ’woman’;

4. 刷新权限(在不重启的情况下生效)
flush privileges;
听说实际实现方式是将user和privilige表里的东西扔进内存。

5. 重启mysql服务

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄