Docker学习笔记十二:Docker安装MySQL

下载

  • 命令:docker pull mysql:5.7
  • 安装可参考Docker  Hub官网说明的镜像的用法

  

安装

 不挂载目录启动容器

  • 创建容器
    • 命令:docker run -d --name=mysql1 -p 3307: 3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
    • 说明:容器创建成功之后,进入容器可直接使用mysql命令行;外部连接时不需要像单机版安装一样要设置远程连接才可以连接MySQL。(注:update mysql.user set host='%' where user='root';

 

挂载目录启动容器

说明

  • 1、由于删除容器之后数据都会丢失,针对数据库而言,挂载目录对数据进行持久化存储是非常必要的。
  • 2、容器删除之后,只要挂载的数据在宿主机持久化保存,新建容器再次映射挂载的目录就可以立即继续使用,数据不会丢失。

安装

  • a、准备my.conf文件
    • 说明:如下配置文件可供复制,配置文件内容可根据需要添加相应配置。
    • 注意1:配置文件名是my.cnf,不要写错否则会导致不生效。(亲测遇到过坑:my.cnf写成了my.conf,导致配置无法生效,太粗心了)。
    • 注意2:安装好mysql之后,在容器中(不是客户端)使用:show variables like 'character%';检查配置文件的字符编码是否生效。
[client]
# 设置客户端的字符集
default-character-set=utf8

[mysqld]
# 配置mysql数据存放的位置
datadir=/var/lib/mysql

# 配置mysql数据库的端口号
port=3306

# 配置最大连接数
max_connections=600

# 配置默认的存储引擎INNODB
default-storage-engine=INNODB

# 配置忽略大小写,0:表示大小写敏感,1:表示忽略大小写
lower_case_table_names=1

# 配置服务端的字符集
character-set-server=utf8
collation-server=utf8_general_ci

# 配置开启慢查询日志、并指定位置
slow_query_log
slow_query_log_file=/var/log/mysql/mysqld_slow.log

# 配置sql模式
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
View Code
  •  b、创建mysql挂载目录(路径任意)
    • 命令:mkdir -p /opt/docker_data/mysql/config
    • 命令:mkdir -p /opt/docker_data/mysql/logs
    • 命令:mkdir -p /opt/docker_data/mysql/data
    • 说明:创建logs日志挂载目录、data数据存储目录、config配置文件目录(可将my.conf文件放置在该目录下)。

  • c、创建容器
docker run -d \
--name=mysql1 \
-p 3307:3306 \
--privileged=true \
--restart=always \
-v /opt/docker_data/mysql/config/:/etc/mysql/conf.d \ -v /opt/docker_data/mysql/data/:/var/lib/mysql \ -v /opt/docker_data/mysql/logs/:/var/log/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ -e TZ=Asia/Shanghai \ mysql:5.7 # docker run:运行并启动容器 # -d:在后台运行容器,并输出容器ID # --name:设置容器的名称 # -p 3307:3306:容器的3306端口映射宿主机3307端口(程序访问端口) # --privileged=true:可选配置,目录映射时避免出现权限问题
# --restart=always:配置启动策略,always表示总是自启动 #
-v:设置"宿主机目录:容器目录"映射位置 # -e:设置时区、mysql的密码 # 执行安装的镜像信息,格式:名称:标签(REPOSITORY:TAG)

  • d、连接mysql服务

 

posted @ 2022-12-15 14:36  零下一度的微笑  阅读(130)  评论(0编辑  收藏  举报