我们默认新建用户的时候所指定的访问权限都是localhost,localhost代表只有本机可以连接,可以使用下列命令查看一下
mysql> select user,host from mysql.user;
所以假如我们想通过从其它主机使用root用户远程连接到mysql服务器的话,我们需要将root的访问权限从localhost修改成%,%代表任何主机
mysql> GRANT ALL PRIVILEGES ON *.* TO ’root’@’%’ IDENTIFIED BY ’[密码]’ WITH GRANT OPTION;
不过为了安全,%也可以换成你需要外部连接的IP
mysql> GRANT ALL PRIVILEGES ON *.* TO ’root’@’[IP地址]’ IDENTIFIED BY ’[密码]’ WITH GRANT OPTION;
修改完成后需要进行提交
mysql> FLUSH PRIVILEGES
若上述方法无法解决问题
1.查看/etc/my.cnf中是否有配置skip-networking项,有则注销掉。
2.查看防火墙配置是否有问题,可以在本机使用telnet命令尝试连接一下。