navicat远程连接mysql,2003 can't connect to mysql server on 10038

1:我们连接远程服务器的mysql,如果出现问题,很大问题会出在服务器的端口和授权问题

 

首先我们通过

①:netstat -an|grep 3306

来查看mysql默认的端口3306是否开启,允许哪个ip使用,如果你发现,前面有127.0.0.1,就说明,3306端口只能本机ip使用

所以,我们需要

②:打开mysql配置文件vi /etc/mysql/mysql.conf.d/mysqld.cnf

将bind-address = 127.0.0.1注销​ 或者改为0.0.0.0

③:进入mysql,对远程用户进行授权,

grant all privileges on *.* to 'root'@'%' identified by 'xxxxxx';

这里的root 是你远程登录的用户,xxxxxx是你登录使用的密码,然后可以在mysql数据 表中查看到你这个用户已经被添加到user表中

 

第三条貌似导致了多出现了一条root 于是远程可以了,本地不可以,user表删除一个root,就都可以了。而且间接修改了root密码,让其可以以root为默认用户登录。(刚装上是没有root密码的,可以无密码进入,待修改了root,则自动转换root为默认用户)

 

原因找到了。删掉后面的 identified by 'xxxxxx';  就是赋权限给已有的用户

你可能感兴趣的:(linux学习之路)