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'; 就是赋权限给已有的用户