在docker安装好mysql之后 端口也设置好,同时云服务器的端口3306也打开。但是使用navicat 连接不上。
其实是因为Navicat只支持旧版本的加密,需要更改mysql的加密规则
进入MySQL容器,登陆MySQL
docker exec -it mysql /bin/bash
登陆mysql**
mysql -u root -p
输入密码
这个时候会提示输入密码,输入即可。
进行授权远程连接授权
GRANT ALL ON . TO ‘root’@‘%’;
刷新权限
flush privileges;
更改加密规则
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
更新root用户密码
ALTER USER ‘root’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
刷新权限
flush privileges;
然后就可以使用 Navicat 连接数据库了。