使用Docker安装MySQL8.0
一、拉取mysql镜像
sudo docker pull mysql:8.0
二、启动mysql
docker run -p 3306:3306 --name MYSQL8.0 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0
** 解释下这条命令的参数:**
-p 3306:3306:
将容器内的3306端口映射到实体机3306端口
--name MYSQL8.0:
给这个容器取一个容器记住的名字
-e MYSQL_ROOT_PASSWORD=123456:
docker的MySQL默认的root密码是随机的,这是改一下默认的root用户密码
-d mysql:8.0:
在后台运行mysql:latest镜像产生的容器
注意:
之后的第二次启动直接用docker start MYSQL8.0即可,不需要docker run
三、常见问题
新装了mysql8.0后再用navicat链接就会报2059的错误。
上网查了发现是8.0之后mysql更改了密码的加密规则,只要在命令窗口把加密方法改回去即可。
1、首先使用以下命令进入MySQL的docker容器
sudo docker exec -it MYSQL8.0 bash
2、登录mysql
mysql -uroot -p123456
3、运行sql命令
alter user 'root'@'%' identified by '123456' password expire never;
alter user 'root'@'%' identified with mysql_native_password by '123456';
flush privileges;