Docker 启动 MySQL 使用 my.cnf

一、下载MySQL镜像


二、挂载配置数据到宿主机

A、宿主机创建目录

my.cnf配置存放目录、data数据存放目录

mkdir -p /data/docker/mysql/config/
mkdir -p /data/docker/mysql/data/
B、宿主机创建my.cnf文件

/data/docker/mysql/config/my.cnf

[client]
default-character-set=utf8

[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
C、创建MySQL容器
docker run -d \
	       --name mysql8 \
	       -p 3309:3306 \
           --restart always \
           --privileged=true \
           -e MYSQL_USER="mysql" \
           -e MYSQL_PASSWORD="password" \
           -e MYSQL_ROOT_PASSWORD="password" \
	       -e character-set-server=utf8 \
	       -e collation-server=utf8_general_ci \
           -v=/data/docker/mysql/config/my.cnf:/etc/my.cnf \
           -v=/data/docker/mysql/data:/var/lib/mysql \
    	   mysql:8.0

参数说明:

  • -d:后台运行容器
  • --nameMySQL容器名称
  • -p:将容器的3306端口映射到主机的3309端口。
  • –restart always:开机启动
  • –privileged=true:提升容器内权限(false可能会因权限导致无法启动)
  • -e:设置环境变量
    • MYSQL_USER:添加用户
    • MYSQL_PASSWORD:设置添加用户密码
    • MYSQL_ROOT_PASSWORD:设置root用户密码
    • character-set-server:设置字符集
    • collation-server:设置字符比较规则
  • -v
    • -v=/data/docker/mysql/config/my.cnf:/etc/my.cnf:映射配置文件
    • v=/data/docker/mysql/data:/var/lib/mysql:将容器的 /var/lib/mysql目录挂载到主机/data/mysql/docker_3306目录。
  • mysql:8.0mysql(repository) : 8.0(tag)

在这里插入图片描述


D、查看是否启动成功

a、查看MySQL容器是否运行

# 列出所有在运行的容器信息
docker ps

在这里插入图片描述
b、登录MySQL容器mysql8命令行模式

# mysql8:容器名
docker exec -it mysql8 bash 

# 登录mysql
mysql -uroot -p123456

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值