环境
CentOS 7.6
Docker 20
流程
- 安装mysql8.0.23
sudo docker pull mysql:8.0.23
- 检查镜像是否正确拉取
sudo docker images
- 启动mysql容器
sudo docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0.23
- 检查是否启动成功
docker ps
- 设置mysql开机启动
docker update mysql --restart=always
- 需要外部连接mysq需要先关闭防火墙
sudo systemctl stop firewalld.service
不再使用后记得重新开启防火墙
sudo systemctl start firewalld.service
- 重启docker
sudo systemctl restart docker
- 启动mysql
docker start mysql
- 进入mysql容器
sudo docker exec -it mysql bash
- 进入mysql
mysql -uroot -p
- 查看用户信息表
select host,user,plugin,authentication_string from mysql.user;
host为 % 表示不限制ip,localhost表示本机使用 plugin非mysql_native_password 则需要修改密码
- 修改用户密码
密码建议尽量复杂一点,这里123456只是作为演示。
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
- 以上两条sql都执行后即可用root和新密码远程连接mysql
- 补充命令
# 重启mysql
docker restart mysql
# 查看mysql安装位置
where is mysql
# 停止mysql
docker stop mysql
# 删除镜像
docker rmi 镜像ID