一、跳过mysql密码验证
更改配置文件/etc/my.cnf
,在里面插入skip_grant_tables ,然后重启服务systemctl restart mysqld
。这样就可以免密本机登录mysql了,但是开了免密登录,mysql服务不会监听任何端口,因为只能本机登录服务。
二、更改访问控制表
进入mysql库,select host,user from user;
,查看对应的用户是否开启了远程可访问的权限,如下图所示‘%’代表任意主机可远程连接访问mysql,‘localhost’代表仅本地可访问该数据库。当然也可以指定一个ip地址,代表仅该主机可以访问该mysql。
update user set host = '%' where user = 'root';
使用该可以更改用户访问主机限制。
完成上述操作就可以把配置文件中的skip_grant_tables去掉并重启mysql,正常来说就可以远程访问mysql了。
三、几个常见问题
如果完成第二步的操作之后,依然无法远程访问,常见的问题一般为以下几个: