比如本机ip为10.134.1.1
mysql所在的服务器为:10.134.2.2 (mysql服务已经启动的前提下)
发现在10.134.2.2输入命令:mysql -uroot -p可以登录数据库。
但是在10.134.1.1这台机器上输入:mysql -h 10.134.2.2 -P 3306 -uroot -p却不可以登录数据库。
并且报错如下:
解决办法:
1,在启动mysql服务的那台机器上登录数据库mysql -uroot -p
2,show databases; 会发现有mysql这个数据库
3. use mysql;
4. select * from user; 查看表user内容
5.执行update user set host = '%' where user = 'root'; 忽略报错
6. select * from user; 继续查看表user内容,观察变化
7. 执行FLUSH PRIVILEGES;(这一步是刷新MySQL的权限相关表,一定不要忘了)
8.进入远程连接的机器再试试,发现可以了
参照了如下文章:
http://blog.csdn.net/bingjianit/article/details/54384299
https://www.cnblogs.com/q149072205/p/7411097.html