docker安裝mysql(8.0.20)并且指定配置文件和数据存放位置

1、拉取镜像

docker pull mysql:8.0.20

2、创建挂载使用到的目录

mkdir -vp /usr/local/docker/myMysql
cd /usr/local/docker/myMysql
mkdir data logs conf

3、启动mysql

docker run -d -p 3306:3306 --name mysql  -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.20

4、拷贝mysql的配置文件和数据

#复制配置文件
docker cp mysql:/etc/mysql /usr/local/docker/myMysql/conf
#复制data文件
docker cp mysql:/var/lib/mysql /usr/local/docker/myMysql/data

5、停止并删除容器

docker stop mysql
docker rm -f mysql

6、重新启动容器(指定数据卷)

docker run  -d  -p 3306:3306 \
--name mysql \
--privileged=true \
--restart=unless-stopped \
-v /usr/local/docker/myMysql/conf/mysql/conf.d:/etc/mysql/conf.d \
-v /usr/local/docker/myMysql/logs:/var/log/mysql \
-v /usr/local/docker/myMysql/data/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:8.0.20

7、拒绝连接解决方法

#1、无法连接(不允许远程连接)
docker exec -it mysql /bin/bash
mysql -u root -p
use mysql 
# 更新root - localhost 为 root - %
update user set host = '%' where user = 'root' and host='localhost'; 
# 设置允许远程用户访问
GRANT ALL ON *.* TO 'root'@'%'; 
flush privileges;# 刷新权限
#更新用户加密方式,mysql8默认的加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Docker是一种轻量级的虚拟化技术,可以让开发者在同一台主机上运行多个独立的容器,每个容器都拥有自己的操作系统、应用程序等。这种技术可以大大提高应用程序的开发效率和部署效率,同时还可以节省硬件资源的消耗。本文将介绍如何在Docker上安装MySQL8.0.20。 步骤1:安装Docker 首先需要安装Docker,可以从Docker官方网站下载Docker安装包,在安装之前需要检查操作系统的版本是否符合要求,Docker要求操作系统版本为CentOS 7或者Ubuntu 14.04/16.04/18.04,如果操作系统版本符合要求,可以按照官方文档进行安装。 步骤2:搜索MySQL8.0.20DockerHub上搜索MySQL8.0.20的镜像,可以使用docker search命令查找:docker search mysql:8.0.20。在搜索结果中找到适用于自己系统的镜像,根据镜像的名称可以进行下载。 步骤3:拉取MySQL8.0.20镜像 使用docker pull命令从DockerHub上拉取MySQL8.0.20的镜像:docker pull mysql:8.0.20。这一步可能会比较耗时,取决于网络情况。 步骤4:运行MySQL8.0.20容器 使用docker run命令启动MySQL8.0.20容器,同时需要将容器中MySQL的端口映射到主机上的一个端口上: docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20 解释一下: -p参数将容器MySQL数据库的端口3306映射到主机上的端口3306,这样就可以直接通过主机访问MySQL数据库了。 --name参数为容器指定一个名称,这里指定mysql。 -e参数设置MySQL数据库的密码,这里设置为123456。 -d参数表示后台运行MySQL8.0.20容器。 步骤5:进入MySQL数据库 启动MySQL8.0.20容器后,可以使用docker ps命令查看正在运行的容器,如果mysql容器正在运行,则可以使用docker exec命令进入容器: docker exec -it mysql /bin/bash 这样就可以进入到MySQL容器的控制台,使用mysql命令登录MySQL数据库mysql -uroot -p123456 如果登录成功,说明已经在Docker中安装成功了MySQL8.0.20。如果需要对容器进行管理,可以使用docker stop、docker rm等命令停止、删除容器,也可以使用docker start、docker restart等命令启动、重启容器。 总结 在Docker中安装MySQL8.0.20比较简单,只需要下载镜像、启动容器,并进行端口映射和密码设置即可。对于开发和测试人员来说,采用Docker进行MySQL部署可以大大提高开发效率,方便快捷。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值