广告
返回顶部
首页 > 资讯 > 数据库 >Docker 下MySQL数据库的备份和恢复的操作方法
  • 868
分享到

Docker 下MySQL数据库的备份和恢复的操作方法

摘要

目录Docker备份和恢复:恢复:自动化备份Mysql设置定时任务docker 最近迷恋使用doker容器,在docker容器进行部署mysql,以前针对容器的安全性一直存在怀疑的态度,不过如果能够通过容器也能数据库备份

docker

最近迷恋使用doker容器,在docker容器进行部署mysql,以前针对容器的安全性一直存在怀疑的态度,不过如果能够通过容器也能数据库备份问题,就这样开始docker容器备份

备份和恢复:

第一种方式

#全部备份
[root@localhost home]# docker  exec  c_mysql sh -c 'exec mysqldump --all-databases -uroot -p123456 --all-databases' > /home/movice202302.sql
#备份数据转移
[root@localhost home]# docker cp /home/movice202302.sql salve-mysql:/var # salve-mysql 是容器 
#全部恢复
root@6faa12ee2d96:/# mysql -uroot -p123456 < /var/movice202302.sql

#查看恢复数据库情况:
mysql -uroot -p123456 -e 'drop database SCHOOL;'
mysql -uroot -p123456-e 'SHOW DATABASES;'

恢复:

导出数据库的表结构和表数据
mysqldump -uroot -pdbpasswd db_name >db.sql;

[root@localhost home]# docker exec c_mysql sh -c 'exec mysqldump  -uroot -p123456 movice_fuli' > /home/movie0216.sql
Warning: Using a passWord on the command line interface can be insecure.
导出数据库表数据
mysqldump -uroot -pdbpasswd -t db_name >db.sql;

root@localhost home]# docker exec c_mysql sh -c 'exec mysqldump  -uroot -p123456 -t movice_fuli' > /home/movie.sql

导出数据库表结构
mysqldump -uroot -pdbpasswd -d db_name >db.sql;
root@localhost home]# docker exec c_mysql sh -c 'exec mysqldump  -uroot -p123456 -d movice_fuli' > /home/movie.sql
导出数据库中某个表的表结构
mysqldump -uroot -pdbpasswd -d db_name table_name >db.sql
root@localhost home]# docker exec c_mysql sh -c 'exec mysqldump  -uroot -p123456 -d movice_fuli user' > /home/movie.sql
导出数据库中某个表的表结构和表数据
mysqldump -uroot -pdbpasswd db_name table_name >db.sql;

root@localhost home]# docker exec c_mysql sh -c 'exec mysqldump  -uroot -p123456  movice_fuli user' > /home/movie.sql

自动化备份mysql

1 创建目录/usr/data用于存放mysql的数据存放

root@localhost ~]# cd /usr
[root@localhost usr]# ls
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp
[root@localhost usr]# mkdir data
[root@localhost usr]# ls
bin  data  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp
[root@localhost usr]# cd data
[root@localhost data]# ls 
[root@localhost data]# touch back_clean.sh 
[root@localhost data]# touch backup .sh
[root@localhost data]# mkdir logs
[root@localhost data]# mkdir mysql_bak
[root@localhost data]# ls
back_clean.sh  backup  logs  mysql_bak
[root@localhost data]# rm backup
rm:是否删除普通空文件 "backup"?y
[root@localhost data]# touch backup.sh
[root@localhost data]# ls
back_clean.sh  backup.sh  logs  mysql_bak

2 编辑 备份脚本和清除大于给定期限的备份数据backup.sh,back_clearn.sh

vi backup.sh

BACKUP_ROOT=/usr/data/
BACKUP_FILEDIR=$BACKUP_ROOT/mysql_bak
#当前日期
DATE=$(date +%Y%m%d)
# 获取容器
mysqlid=docker ps  -aqf "name=c_mysql"
#查询所有数据库
DATABASES=$(docker exec -i ${mysqlid}  mysql  -uroot -p123456 -e "show databases" | grep -Ev "Database|sys|infORMation_schema|performance_schema|mysql")
#循环数据库进行备份
for db in $DATABASES
do
echo
if [[ "${db}" =~ "+" ]] || [[ "${db}" =~ "|" ]];then
echo "jump over ${db}"
else
echo ----------$BACKUP_FILEDIR/${db}_$DATE.sql.gz BEGIN----------
docker exec -i ${mysqlid}  mysqldump -uroot -p123456 --default-character-set=utf8 -q --lock-all-tables --flush-logs -E -R --triggers -B ${db} | gzip > $BACKUP_FILEDIR/${db}_$DATE.sql.gz
echo ${db}
echo ----------$BACKUP_FILEDIR/${db}_$DATE.sql.gz COMPLETE----------
echo
fi
done

echo "备份完成"
vi back_clear.sh
echo ----------CLEAN BEGIN----------
find /usr/data/mysql_bak/ -mtime +7 -name "*.gz" -exec rm -rf {} \;
echo ----------CLEAN COMPLETE---------

设置定时任务

利用linux crontab 进行设置定时任务

查看定时任务

crotab -l

修改定时任务

crontab -e

#每天02:00自动清理大于7天的mysql备份
00 2 * * * /usr/data/backup_clean.sh > /usr/data/logs/backup_full_clean.log 2>&1

#每天11:00自动备份mysql
00 11 * * * /usr/data/backup.sh > /usr/data/logs/backup.log 2>&1

到此这篇关于Docker 下MySQL数据库的备份和恢复的文章就介绍到这了,更多相关MySQL数据库的备份和恢复内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: Docker 下MySQL数据库的备份和恢复的操作方法

本文链接: https://www.lsjlt.com/news/196599.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Docker 下MySQL数据库的备份和恢复的操作方法
    目录docker备份和恢复:恢复:自动化备份mysql设置定时任务docker 最近迷恋使用doker容器,在docker容器进行部署MySQL,以前针对容器的安全性一直存在怀疑的态度,不过如果能够通过容器也能数据库备份...
    99+
    2023-02-17
    MySQL数据库的备份和恢复 docker mysql数据库的备份和恢复
  • Docker 下MySQL数据库的备份和恢复的操作方法
    目录docker备份和恢复:恢复:自动化备份mysql设置定时任务docker 最近迷恋使用doker容器,在docker容器进行部署MySQL,以前针对容器的安全性一直存在怀疑的态...
    99+
    2023-02-17
    MySQL数据库的备份和恢复 docker mysql数据库的备份和恢复
  • MySQL数据库备份恢复的方法
    不懂MySQL数据库备份恢复的方法?其实想解决这个问题也不难,下面让小编带着大家一起学习怎么去解决,希望大家阅读完这篇文章后大所收获。数据库的备份#语法: # mysqldump -h 服务器 -u用户名 ...
    99+
    2022-10-18
  • Mysql数据库的备份与恢复方法
    这篇文章主要介绍“Mysql数据库的备份与恢复方法”,在日常操作中,相信很多人在Mysql数据库的备份与恢复方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql数据库...
    99+
    2022-10-18
  • MYSQL数据库备份和还原的操作方法
    下面讲讲关于MYSQL数据库备份和还原的操作方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MYSQL数据库备份和还原的操作方法这篇文章你一定会有所受益。备份数据库:云服务器...
    99+
    2022-10-18
  • Mysql结合备份+binlog恢复误删除操作数据的方法
    小编给大家分享一下Mysql结合备份+binlog恢复误删除操作数据的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!结合备份...
    99+
    2022-10-18
  • MySQL数据库的备份与恢复
    一、数据备份的重要性 备份的主要目的是灾难恢复。 在生产环境中,数据的安全性至关重要。 任何数据的丢失都可能产生严重的后果。 造成数据丢失的原因: 程序错误人为操作错误运算错误磁盘故障灾难(如火灾、地震)和盗窃 二、数据库备份...
    99+
    2023-10-27
    数据库
  • Mysql的数据备份和恢复
    这篇文章主要介绍“Mysql的数据备份和恢复”,在日常操作中,相信很多人在Mysql的数据备份和恢复问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql的数据备份和恢复”...
    99+
    2022-10-18
  • 操作MySQL误删数据库备份该如何恢复
    下文主要给大家带来操作MySQL误删数据库备份该如何恢复,希望这些内容能够带给大家实际用处,这也是我编辑操作MySQL误删数据库备份该如何恢复这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。&nbs...
    99+
    2022-10-18
  • 备份与恢复MySQL数据库的三种方法介绍
    下文给大家带来关于备份与恢复MySQL数据库的三种方法介绍,感兴趣的话就一起来看看这篇文章吧,相信看完备份与恢复MySQL数据库的三种方法介绍对大家多少有点帮助吧。MySQL数据库的备份与恢复的三种方法1....
    99+
    2022-10-18
  • sql数据库备份和恢复的方法有哪些
    SQL数据库备份和恢复的方法有以下几种:1. 物理备份:将数据库的物理文件进行备份,包括数据文件、日志文件等。这种备份方式通常是通过...
    99+
    2023-09-05
    sql数据库
  • sql数据库备份和恢复数据的方法有哪些
    SQL数据库备份和恢复数据的方法有以下几种:1. 使用数据库管理工具:大多数数据库管理工具提供了备份和恢复数据库的功能,用户可以通过...
    99+
    2023-09-09
    sql数据库
  • MySQL数据库的备份与还原操作方法
    目录1、数据库备份2、数据还原1、数据库备份 备份的结果都是SQL指令 mysqldump:专门用于备份SQL的客户端 SQL备份:表结构 + 数据 缺点: 会产生的备份文件特别大不...
    99+
    2022-11-13
  • Mysql数据库实现完整备份与恢复方法
    下面讲讲关于Mysql数据库实现完整备份与恢复方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完Mysql数据库实现完整备份与恢复方法这篇文章你一定会有所受益。数据库备份的重要...
    99+
    2022-10-18
  • MySQL数据库如何实现备份与恢复方法
    本篇文章给大家主要讲的是关于MySQL数据库如何实现备份与恢复方法的内容,感兴趣的话就一起来看看这篇文章吧,相信看完MySQL数据库如何实现备份与恢复方法对大家多少有点参考价值吧。MySQL数据库的备份与恢...
    99+
    2022-10-18
  • MySQL中的事务处理和数据备份恢复方法
    这篇文章主要讲解了“MySQL中的事务处理和数据备份恢复方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL中的事务处理和数据备份恢复方法”吧!目录...
    99+
    2022-10-18
  • Oracle数据库的常用操作中如何备份和恢复
    本篇文章给大家分享的是有关Oracle数据库的常用操作中如何备份和恢复 ,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Oracle数据库备份和...
    99+
    2022-10-19
  • MySQL数据库的灾难备份与恢复
         http://xiaorenwutest.blog.51cto.com         &nbs...
    99+
    2022-10-18
  • Redis数据备份与恢复的方法
    Redis数据备份与恢复的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!Redis RDB方式数据备份与恢复Redis...
    99+
    2022-10-18
  • MySQL备份数据库的方法
    这篇文章主要讲解了MySQL备份数据库的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。一提到数据,大家神经都会很紧张,数据的类型有很多种,但是总归一点,数据很重要,非常重要...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作