docker 安装Mysql,并进行数据挂载

拉取镜像

docker pull mysql:5.7

创建目录

mkdir -p /nodn/docker/mysql/data

mkdir -p /nodn/docker/mysql/config

在config中创建 mysqld.cnf 文件

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
lower_case_table_names=1
#lower_case_table_names:    此参数不可以动态修改,必须重启数据库
#lower_case_table_names = 1  表名存储在磁盘是小写的,但是比较的时候是不区分大小写
#lower_case_table_names=0    表名存储为给定的大小和比较是区分大小写的 
#ower_case_table_names=2,    表名存储为给定的大小写但是比较的时候是小写的
#log-error      = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address   = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 是否支持符号链接,即数据库或表可以存储在my.cnf中指定datadir之外的分区或目录,为0不开启

启动容器

docker run \
--privileged=true \
--restart=always \
--name mysql5.7 \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=562100 \
-v /nodn/docker/mysql/data:/var/lib/mysql \
-v /nodn/docker/mysql/config:/etc/mysql/conf.d \
-v /nodn/docker/mysql/logs:/var/log/mysql \
-d mysql:5.7 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_general_ci \
--default-time_zone='+8:00'

参数说明:

--lower_case_table_names=1  			表名存储在磁盘是小写的,但是比较的时候是不区分大小写,如果配置文件里有写,就不用写
 --restart=always 						当 Docker 重启时,容器自动启动
--name mysql5.7   						起别名
-p 3306:3306     						映射端口
d mysql:5.7      						指定运行版本
-e MYSQL_ROOT_PASSWORD="123456":		设置root用户密码
--character-set-server=utf8mb4:		设置字符集为utf8mb4
--collation-server=utf8mb4_unicode_ci:	设置字符比较规则为utf8mb4_unicode_ci
--privileged=true  						获取宿主机的root权限
-v   		   							目录挂载

数据挂载,挂载的目的是为了 当docker重启或者docker中的MySQL 容器删除后,里面的表和数据会丢失,所以把数据文件和配置文件挂载到宿机上,
经测试,如果这次挂载的是5.7版本的mysql,删除容器后换别的版本的mysql 想使用之前的挂载数据,docker中的MySQL 起不来

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值