问题一. 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;
步骤2:修改root密码
mysql> alter user '用户名'@'登录主机' identified by '密码(自定义)'; 修改密码成功。
详细命令如下。然后flush privileges
问题二。 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)最后输入新增的入站规则名称,随便填,自己明白即可。