目 录CONTENT

文章目录

Docker 快速搭建 Mysql

小张的探险日记
2021-12-09 / 0 评论 / 0 点赞 / 740 阅读 / 1,262 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-02-27,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

准备

  1. centos7的服务器,可以是虚拟机
  2. 安装了docker
  3. 如果需要持久化数据,那么建立目录
    /usr/local/docker/mysql/data
    /usr/local/docker/mysql/conf
    /usr/local/docker/mysql/logs

开始搭建

一般目前我们常用的 Mysql 版本是 5.7

所以先拉取镜像:

docker pull mysql:5.7

不持久化运行

MYSQL_ROOT_PASSWORD 设置密码

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

持久化运行

把容器中对应目录下的数据映射到 宿主机的对应目录中,可以保证 mysql的Container 丢失后,数据不会丢失。

docker run -p 3306:3306 --name mysql \
-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=123456 \
-d mysql:5.7

检查

查看容器是否正常运行,ok 后可用使用工作去链接

docker container ls

2023/02/27 update

按照上面的方法安装出现如下问题 特此记录,第一眼认为是权限问题,结果加了

--privileged=true 也没有解决,相当于让容器的权限提高到 root,不然相当于一个普通用户。

uTools_1677498244023.png

mysql 文档更新说明
https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html
意思是配置文件有变化,所以可以先起一个默认容器,查看下配置文件位置,然后去做映射配置即可

新起一个 mysql:5.7 的容器,通过 docker cp 命令把 容器内的配置文件复制到 /usr/local/docker/mysql/conf/

docker cp 62cc:/etc/mysql/ /usr/local/docker/mysql/conf/

修改了 /usr/local/docker/mysql/conf/ 为 /usr/local/docker/mysql/conf/mysql
因为把新起的容器的配置文件复制到了 /usr/local/docker/mysql/conf/

uTools_1677498869837.png

docker run -p 3306:3306 --name mysql -v /usr/local/docker/mysql/conf/mysql/:/etc/mysql -v /usr/local/docker/mysql/logs:/var/log/mysql -v /usr/local/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

uTools_1677498591962.png

最后启动成功
uTools_1677498911907.png

0

评论区