写在开头
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_PASSWORDroot账号的密码
-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

本文详细介绍了使用Docker部署MySQL的过程,包括启动命令、参数配置、时区同步、容器内部操作、数据还原等关键步骤。深入解析了MySQL镜像配置参数,如--lower_case_table_names,并提供了登录MySQL及数据还原的具体方法。
1588

被折叠的 条评论
为什么被折叠?



