Docker 安装 MySQL

一、下载MySQL镜像

Docker Hub:Docker公司运行和管理的云存储库

A、查看MySQL镜像

docker search mysql

在这里插入图片描述

B、查看MySQL镜像Tags

在这里插入图片描述
在这里插入图片描述

C、下载MySQL 8.0 Tags镜像

docker pull mysql:8.0

在这里插入图片描述

docker images

在这里插入图片描述


二、运行MySQL镜像

A、使用mysql:8.0创建容器

docker run -d \
	--name mysql8 \
	-p 3309:3306 \
	-v /data/mysql/docker_3306:/var/lib/mysql \
	-e MYSQL_USER="mysql" \
	-e MYSQL_PASSWORD="password" \
	-e MYSQL_ROOT_PASSWORD=123456 \
	-e character-set-server=utf8 \
	-e collation-server=utf8_general_ci \
	mysql:8.0

参数说明:

  • -d:后台运行容器
  • –name:容器名称
  • -p:将容器的3306端口映射到主机的3309端口。
  • -v:将容器的 /var/lib/mysql目录挂载到主机/data/mysql/docker_3306目录。
  • -e:设置环境变量
    • MYSQL_USER:添加用户
    • MYSQL_PASSWORD:设置添加用户密码
    • MYSQL_ROOT_PASSWORD:设置root用户密码
    • character-set-server:设置字符集
    • collation-server:设置字符比较规则
  • mysql:8.0mysql(repository) : 8.0(tag)

在这里插入图片描述

B、查看是否启动成功

a、查看MySQL容器是否运行

# 列出所有在运行的容器信息
docker ps

在这里插入图片描述
b、登录MySQL容器mysql8命令行模式

# mysql8:容器名
docker exec -it mysql8 bash 

# 登录mysql
mysql -uroot -p123456

在这里插入图片描述


三、常见问题

A、Navicat连接MySQL2059 错误

MySQL 8.0版本与MySQL5.0版本加密规则不一致,而现有的可视化工具只支持旧的加密方式。两种解决方法:

  • 升级Navicat驱动。
  • MySQL用户登录的加密规则修改为mysql_native_password**
    在这里插入图片描述
第二种解决方法:将MySQL用户登录的加密规则修改为mysql_native_password

a、登录MySQL容器mysql8

# mysql8:容器名
docker exec -it mysql8 bash 

# 登录mysql
mysql -uroot -p123456

b、修改用户登录MySQL加密规则

# 修改加密规则(password 当前密码)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;

# 修改root用户密码(password 设置新密码)
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

# 刷新权限
flush privileges;

在这里插入图片描述
c、查看效果

# 修改root用户密码(password 设置新密码)
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页