本文将介绍外部无法连接kali(内核版本4.6.0)的mysql(版本5.6.30)的解决办法。
步骤一:
1、进入mysql的用户表user,先要设置root可以访问
[sql] view plain copy mysql> update user set host = '%' where user = 'root'; ##若报错,不予理会即可
2、修改/etc/mysql/my.cnf(或者/etc/mysql/mysql.conf.d/mysqld.cnf)上bind_addr改为0.0.0.0(或把该行注掉)
3、root的plugin被修改成mysql_native_password
[sql] view plain copy mysql> update user set plugin= 'mysql_native_password' where host = '%' ;
4、刷新状态
[sql] view plain copy mysql> flush privileges;
5、重启mysql服务
步骤二:
1、若步骤一不顶用,再执行以下操作:授权所有root用户登录
[sql] view plain copy mysql> grant all privileges on *.* to 'root'@'%' identified by 'xxxxxx'; ##最后的'xxxxxx'为mysql密码
2、刷新状态后,重启mysql服务
步骤三:
1、若步骤二启动mysql时还报错,如(ERROR 2002 (HY000)…….),再执行以下操作:
2、修改/etc/mysql/my.cnf(或者/etc/mysql/mysql.conf.d/mysqld.cnf)加上
[html] view plain copy [mysql] protocol = tcp
3、重启mysql服务
4、登录:mysql -u root [-h 127.0.0.1] -p(若必须加上-h,则可能是上述问题)
步骤四:
若前三步还没有解决问题,那重启一下kali,再用工具远程连接试一下(最后的尝试)。说明:本人就是最后重启后能正常连上的(防火墙没有任何修改,过滤策略是空的,因此此处与防火墙关系不大)。