MySQL默认禁止远程链接,当尝试用网络IP(192.168.17.135)而非本地IP(127.0.0.1)登录会报以下错误:mysql
经查资料说,是配置文件my.cnf绑定了本地ip形成的,以下sql
文件:/etc/mysql/my.cnf数据库
#bind-address = 127.0.0.1 <---注释掉这一行就能够远程登陆了安全
可是经检查,发现个人本地my.cnf并无这句话,后来经查得知,其实这个配置是在另一个文件里(版本缘由?不清楚了):服务器
/etc/mysql/mysql.conf.d/mysqld.cnf网络
打开这个文件,注释掉下面那句话ide
#bind-address = 127.0.0.1rest
而后重启MySQL服务器ip
中止:sudo /etc/init.d/mysql stop,开启: sudo /etc/init.d/mysql start虚拟机
重启:sudo /etc/init.d/mysql restart
而后尝试用下面方式登录MySQL:
权限错误,说明配置是成功的,接下来就是解决权限错误了。
为了数据库安全起见,咱们放弃root帐号登录方式,建一个新的帐号
mysql> create user 'test'@'%' identified by 'password';
Query OK, 0 rows affected (0.00 sec)
而后给这个用户赋予最高权限,
mysql> grant all privileges on *.* to 'test'@'%';
Query OK, 0 rows affected (0.00 sec)
刷新一下数据库权限:
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
okay,大功告成,退出这个MySQL。
接下来尝试登录一下:
登录成功,大功告成。
接下来换台虚拟机来远程登录一下:
完美!!!