本地的navicat连接在云服务器上通过docker搭建的mysql时,由于mysql未开启远程连接导致连接失败。
1、mysql默认是不可以远程连接的
2、通过docker命令进入容器之后,登录
mysql -u root -p
输入mysql的密码,这个密码是docker安装mysql配置的。
3、开启远程连接
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
这个密码为password,是之后远程连接mysql的密码。
4、刷新生效
FLUSH PRIVILEGES;
5、再次查看
select host,user,plugin,authentication_string from mysql.user;
可以看到root授权的host为%,即为远程访问已经开启。
最后再次使用navicat连接mysql,连接成功!