docker快速安装mysql-CentOS7

本文详细介绍了如何在Docker环境下部署并配置MySQL 5.7,包括创建docker-compose.yml文件、启动和访问MySQL服务。同时,提供了定时备份MySQL数据的shell脚本,并演示了如何设置cron任务进行每日备份。此外,还展示了如何从容器中导出备份到宿主机。
摘要由CSDN通过智能技术生成

1.下载镜像 

docker pull mysql:5.7

2.创建/usr/local/docker/mysql/docker-compose.yml文件 

version: '3.1'
services:
  mysql:
    image: 'mysql:5.7'
    restart: always
    container_name: mysql
    ports:
      - 3306:3306
    volumes:
      - ./conf/conf.d:/etc/mysql/conf.d
      - ./logs:/logs
      - ./data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD=root

脚本版

#!/bin/bash
containId=`docker ps -a | grep -i mysql|awk '{print $1}'`
FDIR=$(dirname $(readlink -f "$0"))
if [[ ! $containid ]];then
        echo "target container not exist!"
else
        echo "target container exist , ID = "$containId
        docker stop $containId
        docker rm $containid
        echo "success delete container "$contain1d
fi
docker run --name mysql -e TZ=Asia/Shanghai --restart always -p 3306:3306 -v $FDIR/conf/conf.d:/etc/mysql/conf.d -v $FDIR/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Aa@123456 -d mysql:8.0.27

 

3.执行docker-compose.yml文件  

docker-compose up

4.访问mysql

进入docker容器

docker exec -it mysql bash

连接mysql

mysql -u root -p

4.定时备份mysql数据

脚本backup.sh

#!/bin/bash
docker exec -i mysql bash<<'EOF'
# 判断目录是不是已经存在,如果不存在则创建
if [ ! -d "/backups/mysql" ]; then
  mkdir -p /backups/mysql
fi
# -A 为所有数据库
mysqldump -uroot -p1234567 -A > /backups/mysql/backups_$(date +%Y%m%d).sql
#删除超过10天的数据
rm -f /backups/mysql/backups_$(date -d -10day +%Y%m%d).sql
exit
EOF
# 判断目录是不是已经存在,如果不存在则创建
if [ ! -d "/backups/mysql" ]; then
  mkdir -p /backups/mysql
fi
# 将docker中的备份的数据拷贝到宿主机上。
docker cp mysqldocker:/backups/mysql/backups_$(date +%Y%m%d).sql /backups/mysql
#删除超过10天的数据
rm -f /backups/mysql/backups_$(date -d -10day +%Y%m%d).sql

定时:

vi /etc/crontab

 30 1 * * * root /home/dbbackup/backup.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值