在阿里云服务器上用Docker安装Mysql 8并配置Navicat远程连接
程序员文章站
2024-03-25 14:30:40
...
文章目录
具体过程
下载Mysql
镜像
docker pull mysql
启动Mysql
镜像
docker run --name mysql02 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
--name
:镜像别名-p
:服务器与docker的端口映射-e MYSQL_ROOT_PASSWORD
:设置mysql密码-d
:后台运行
最后的mysql
是启动的镜像名
查询启动的镜像
docker ps
进入容器
docker container exec -it mysql02 bash
这里的mysql02是取的别名,也可以通过id进入
登陆Mysql
mysql -uroot -p123456
把123456换成你的密码
设置远程访问
grant all privileges on *.* to 'root'@'%';
Navicat远程连接常见错误解决办法
10060
确认自己有没有关闭防火墙,如果防火墙是关闭状态,则应该去mysql中再次设置远程访问,这是因为mysql一开始只会允许localhost的主机访问。
grant all privileges on *.* to 'root'@'%';
10038
该错误码意思是端口未开放。
首先检查自己在docker开启mysql的时候是否进行了端口映射-p 3306:3306
?
如果没问题,检查自己的服务器安全组配置。我用的是阿里云,这里给大家演示阿里云安全组的配置
Client does not support authentication protocol requested by server; consider upgrading MySQL client
导致这个错误的原因是,目前,最新的mysql模块并未完全支持MySQL 8的caching_sha2_password
加密方式。
解决方法是从新修改用户root的密码,并指定mysql模块能够支持的加密方式:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
接着
flush privileges;
上面的localhost改成%的话就是任意主机可访问
上一篇: css3动画学习之 transform
下一篇: React