Docker部署MySQL8.1版本,并挂载存储,日志,配置文件

环境:Centos7.6,Docker

本人部署Docker教程地址

1.拉取镜像

在线拉取镜像

命令:docker pull mysql:8.1

       

服务器无网情况下:

第一步:在一台有网的Linux服务器上在线拉取镜像

命令:docker pull mysql:8.1

     

第二步:导出镜像到本地

命令:docker save -o /home/mysql.tar mysql

导出的镜像在/home目录下 

   

第三步:将镜像包移动到U盘并上传到无网服务器/home目录下,在无网服务器下执行拉取本地镜像命令

命令:docker load -i /home/mysql.tar

2.创建持久化存储,日志,配置文件目录

第一步:创建存储目录,日志目录,配置文件目录

命令:mkdir -p /home/mysql/{conf,data,log} 

      

第二步:创建MySQL配置文件

命令:touch  /home/mysql/conf/my.cnf

      

第三步:写入以下配置文件内容 

 命令:vim /home/mysql/conf/my.cnf 

[client]
#设置客户端默认字符集utf8mb4
default-character-set=utf8mb4
[mysql]
#设置服务器默认字符集为utf8mb4
default-character-set=utf8mb4
[mysqld]
#配置服务器的服务号,具备日后需要集群做准备
server-id = 1
#开启MySQL数据库的二进制日志,用于记录用户对数据库的操作SQL语句,具备日后需要集群做准备
log-bin=mysql-bin
#设置清理超过30天的日志,以免日志堆积造过多成服务器内存爆满
expire_logs_days=30
#解决MySQL8.0版本GROUP BY问题
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
#允许最大的连接数
max_connections=1000
# 禁用符号链接以防止各种安全风险
symbolic-links=0
# 设置东八区时区
default-time_zone = '+8:00'

 第四步:赋予目录权限

chmod 777 /home/mysql/data/ /home/mysql/log

chmod 644 /home/mysql/conf/my.cnf

my.cnf配置文件必须设置644权限,设置777在登录mysql时报警告配置文件无法生效。

3.启动MySQL镜像

启动镜像命令:

docker run -p 3306:3306 --restart=always --name mysql --privileged=true -v /home/mysql/log:/var/log/mysql -v /home/mysql/data:/var/lib/mysql -v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.1 --lower-case-table-names=1    

解析:

-p:主机端口:容器端口。

-d:启动的镜像名称。

--name:设置容器名称。

--privileged=true:赋予容器权限修改宿主文件权利。

--restart=always:设置docker启动时,容器跟随自启。

--lower-case-table-names=1:用于指定表名是否进行大小写不敏感的处理。

-e MYSQL_ROOT_PASSWORD=123456:设置MySQL的root用户的密码。

-v /home/mysql/log:/var/log/mysql:挂载容器日志到宿主,方便查看日志。

-v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf:挂载容器配置文件到宿主,方便修改配置文件。

-v /home/mysql/data:/var/lib/mysql:挂载容器存储文件到宿主,避免因不小心卸载容器或者容器损坏导致数据丢失不可找回风险。

4.开启防火墙

第一步:开启指定防火墙端口命令:

命令:firewall -cmd --add-list=3306/tcp --permanent

       

第二步:刷新防火墙

命令:firewall-cmd --reload

5.使用Navicat进行连接

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值