天天看点

mysql 连接远程数据库问题问题一. navicat 连接 mysql 出现Client does not support authentication protocol requested by server; consider upgrading MySQL client解决方案

问题一. navicat 连接 mysql 出现Client does not support authentication protocol requested by server; consider upgrading MySQL client解决方案

原因:密码的问题

解决办法:修改root密码

步骤1:查看root的权限,如果是%,则表示可以远程

>USE mysql;

>select host,user from user;

mysql 连接远程数据库问题问题一. navicat 连接 mysql 出现Client does not support authentication protocol requested by server; consider upgrading MySQL client解决方案

步骤2:修改root密码

mysql> alter user '用户名'@'登录主机' identified by '密码(自定义)'; 修改密码成功

问题二。 MySql远程访问改表法。

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -pvmwaremysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;

修改完后,需要重新关闭,重启服务才能生效

关闭服务:net stop mysql

开启服务:net start mysql

问题三. Navicat for MySQl访问远程mysql数据库,出现报错,显示“Can't connect MySQL Server on 'localhost'(10038)

原因:远程3306端口未对外开放

解决办法:在防火墙里新建入站规则

详见https://jingyan.baidu.com/article/63acb44add614761fcc17ec2.html

(1)首先远程连接服务器,点击“开始”-“管理工具”-“高级安全Windows防火墙”

(2)在打开的窗口中,左边选中“入站规则”,右边点击“新规则”来新建一个入站规则。

(3)在“规则类型”中选择“端口”,然后下一步。

(4)选中“特定本地端口”,输入3306,然后下一步。

(5)选中“允许连接”,然后下一步。

(6)最后输入新增的入站规则名称,随便填,自己明白即可。

(7)最后输入新增的入站规则名称,随便填,自己明白即可。