1、创建备份数据库容器(参考监控相关下面的mysql安装)
# 建立挂载的数据卷
mkdir -p /opt/mysql/data
# 虚拟机 3307 端口和容器里的3306端口对应,虚拟机路径和容器里路径(下图,来自头部参考地址)对应
docker run -p 3307:3306 --restart="always" --name mysqlbackup -v /opt/mysql/data:/var/lib/mysql \-v /opt/mysqlbackup/daily:/opt/mysqlbackup/daily -v /opt/mysqlbackup/backup:/opt/mysqlbackup/backup -e MYSQL_ROOT_PASSWORD=123456 -d --privileged=true mysqlbackup
2、yum安装包存放在目录/var/cache/yum/package,将之拷贝到容器里
docker cp crontabs-1.11-6.20121102git.el7.noarch.rpm mysql:/usr/share/package
进入到容器的当前目录下通过rpm离线安装相关软件
rpm -Uvh --force --nodeps *.rpm
以上方式可通过apt安装,貌似要联网
安装vim apt-get update && apt-get install vim安装定时任务 apt-get install cron安装yum指令 apt-get install yum
3、新建备份脚本
备份准备工作
创建目录
mkdir -p /opt/mysqlbackuptouch backup.sh
文件赋权
chmod +x /opt/mysqlbackup/backup.sh
全量备份脚本
cat >/opt/mysqlbackup/backup.sh <<EOF#!/bin/shzcDATE=$(date +%Y%m%d)mkdir -p /opt/mysqlbackup/backup/$zcDATEmysqldump -h '192.168.1.36' -uroot -p'123456' --quick --events --databases mysql --flush-logs --delete-master-logs --single-transaction > /opt/mysqlbackup/backup/$zcDATE/mysql.sqlEOF
MySQL上存在两个数据库,名称分别是 db1 和 db2,利用这种方式在硬盘上备份数据。-h表示远程的服务器IP。-u 和 -p 分别是远程服务器的用户名和密码。这里不建议使用 mysqldump 的 –-all-databa