docker MySQL 容器相关事项

写在开头

MySQL部署的时候,通常需要配置很多参数,本文就此介绍一下详细的参数配置


启动命令

示例:

docker run -d --restart=always --privileged=true -v /usr/local/docker_data/mysql/data:/var/lib/mysql -p3306:3306 -e MYSQL_ROOT_PASSWORD=password --name=mysql5.7 mysql:5.7 --lower_case_table_names=1

语法(Usage)

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

参数介绍(OPTIONS)

-d: 后台运行
-p: 端口映射, 宿主机:容器
-e: 配置参数,MYSQL_ROOT_PASSWORD root账号的密码
-v: 挂载文件,即文件同步,一般需要把数据文件、配置文件、日志挂载到宿主机,时区同步也可以将 /etc/localtime 文件同步到容器中
--privileged: 获取宿主机root权限
--restart: 重启策略

  • no: 默认的重启策略,在任何情况下都不会重启容器。
  • always: 容器总是重新启动。
  • on-failure: 如果退出代码指示的故障错误政策重启的容器。
restart: "no"
restart: always
restart: on-failure=1

MySQL镜像配置参数介绍(ARG)

--lower_case_table_names: MySQL配置是否忽略表名大小写,1忽略,2严格匹配

关于时区同步

不知为何,有时部署时挂载 localtime 文件会异常,这里记录一下另外几种同步时间的方法

# 手动将宿主机中的 `localtime` 文件复制到容器中去
docker cp /etc/localtime  mysql5.7:/etc/localtime
docker cp /usr/share/zoneinfo/Asia/Shanghai mysql5.7:/etc/localtime                                                                                                                                                                                                                                    

容器内部操作

# 进入容器
docker exec -it container_name(容器名称) bash

修改MySQL配置

# 更新源并安装vim文本编辑器
apt-get update && apt-get vim
# 进入配置文件的文本编辑模式
vim /etc/mysql/mysql.conf.d/mysqld.cnf

配置修改后重启容器使配置生效

登录MySQL

mysql -u root -p password

数据还原

docker exec -i some-mysql sh -c 'exec mysql -uroot -ppassword' < /some/path/on/your/host/all-databases.sql
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值