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 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
发布了2 篇原创文章 · 获赞 3 · 访问量 330

猜你喜欢

转载自blog.csdn.net/Sam_C/article/details/103962225
今日推荐