MySQL 可以用localhost 连接,但不能用IP连接的问题,局域网192.168.*.* 无法连接mysql

原因是没开权限

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

mysql –uroot –proot

 

2. 使用mysql数据库

use mysql;

 

3. 赋予权限

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

或者GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

其中*.*的意思是 所有库.所有表, '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服务

原文地址:https://www.cnblogs.com/summary-2017/p/8463441.html