首页 > 数据库 >Docker安装部署Mysql8(以作数据持久化)

Docker安装部署Mysql8(以作数据持久化)

时间:2022-09-20 14:23:02浏览次数:72  
标签:20 etc Mysql8 以作 挂载 mysql -- Docker docker

1.创建容器并进行持久化处理

#拉取镜像
docker pull mysql:8.0.20
#启动镜像,用于拷贝配置文件到宿主机
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20
#查看是否启动成功
docker ps -a
#新建挂载目录并拷贝配置文件
mkdir -p /mysqldata/
docker cp  mysql:/etc/mysql /mysqldata/
#删除原有镜像
docker stop mysql
docker rm -f mysql
#启动mysql ,挂载配置文件,数据持久化到宿主主机
docker run \
-p 13306:3306 \
--name mysql \
--privileged=true \
--restart unless-stopped \
-v /home/mysqldata/mysql:/etc/mysql \
-v /home/mysqldata/mysql/logs:/logs \
-v /home/mysqldata/mysql/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=cqrecadmin \
-d mysql:8.0.20
#检查是否运行成功
docker ps -a

img

命令解释:

-p 端口映射

--privileged=true 挂载文件权限设置

--restart unless-stopped 设置 开机后自动重启容器

-v /mnt/sda1/mysql8.0.20/mysql:/etc/mysql 挂载配置文件

-v /mnt/sda1/mysql8.0.20/logs:/logs \ 挂载日志

-v /mnt/sda1/mysql8.0.20/data:/var/lib/mysql \ 挂载数据文件 持久化到主机

-v /etc/localtime:/etc/localtime 容器时间与宿主机同步

-e MYSQL_ROOT_PASSWORD=cquisse 设置密码

-d mysql:8.0.20 后台启动,mysql

2.配置远程连接并尝试

#进入容器
docker exec -it mysql bash
#登录mysql,输入运行容器时配置的密码
mysql -u root -p 
#执行sql
CREATE USER 'user_galen'@'%' IDENTIFIED WITH mysql_native_password BY 'Galen*10';
GRANT ALL PRIVILEGES ON *.* TO 'user_galen'@'%';

退出到服务器,开放对应端口

firewall-cmd --add-port=13306/tcp --permanent
firewall-cmd --reload 

测试连接

img

标签:20,etc,Mysql8,以作,挂载,mysql,--,Docker,docker
From: https://www.cnblogs.com/blogof-fusu/p/16710871.html

相关文章

  • 安装配置docker&maven环境
     原文视频:(https://blog.sechelper.com/20220919/code-review/docker-maven-install-guid/)Docker是什么Docker是一个开源的应用容器引擎。Docker可以让开发者打包他们......
  • DockerFile
    Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。具体解释:镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以......
  • 【部署系列】Docker 部署 acme.sh
    安装环境Docker安装具体的安装直接参考Docker官方文档即可:https://docs.docker.com/engine/install/以centos系统为例:1、卸载旧版本sudoyumremovedocker\......
  • Mac安装Docker
    写在前面刚入手个Mac本,说实话关于开发环境的搭建,真的是很不适应,和Windows系统相比的话,俩字,真麻烦。。。。话说回来,越难学起来才越有意思不是吗?Mac安装Docker这系列的博......
  • docker run的--rm选项详解
    在Docker容器退出时,默认容器内部的文件系统仍然被保留,以方便调试并保留用户数据。因此,可以通过--rm命令,让容器在退出时,自动清除挂载的卷,以便清除数据:另外,当容器退出时,通过......
  • docker删除所有none镜像或停止的容器
    在docker反复build后,会存留很多none镜像,下面命令一键删除所有none镜像(docker清理)dockerrmi`dockerimages|grep'<none>'|awk'{print$3}'`dockerrmi`do......
  • Docker容器里面的时间跟宿主机对不上
    Docker基本上都采用UTC时间,默认时区为零时区。在Linux系统中,控制时区和时间的主要是两个地方:/etc/timezone主要代表当前时区设置,一般链接指向/usr/share/zoneinfo......
  • 使用Supervisord管理Docker内的服务,容器启动就退出
    问题:启动后直接退出command:"/usr/bin/supervisord-c/etc/supervisord.conf"解决方法:将supervisor配置的nodaemon=false修改为nodaemon=true,使supervisor......
  • Docker容器启动失败查看日志
    1.dockerps-a查看容器进程CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMESc5fe8083e7e......
  • docker理解
    Docker包括三个基本概念:镜像(Image):Docker镜像(Image),就相当于是一个root文件系统。比如官方镜像ubuntu:16.04就包含了完整的一套Ubuntu16.04最小系统的root文件......