我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL如何实现定时全库备份数据库

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL如何实现定时全库备份数据库

这篇文章给大家分享的是有关MySQL如何实现定时全库备份数据库的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

    一、MySQL数据备份

    1.1、 mysqldump命令备份数据

    在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump,首先我们简单了解一下mysqldump命令用法:

    #MySQLdump常用mysqldump -u root -p --databases 数据库1 数据库2 > xxx.sql

    1.2、 mysqldump常用操作示例

    备份全部数据库的数据和结构

    mysqldump -uroot -p123456 -A > /data/mysqlDump/mydb.sql

    备份全部数据库的结构(加 -d 参数)

    mysqldump -uroot -p123456 -A -d > /data/mysqlDump/mydb.sql

    备份全部数据库的数据(加 -t 参数)

    mysqldump -uroot -p123456 -A -t > /data/mysqlDump/mydb.sql

    备份单个数据库的数据和结构(,数据库名mydb)

    mysqldump -uroot-p123456 mydb > /data/mysqlDump/mydb.sql

    备份单个数据库的结构

    mysqldump -uroot -p123456 mydb -d > /data/mysqlDump/mydb.sql

    备份单个数据库的数据

    mysqldump -uroot -p123456 mydb -t > /data/mysqlDump/mydb.sql

    备份多个表的数据和结构(数据,结构的单独备份方法与上同)

    mysqldump -uroot -p123456 mydb t1 t2 > /data/mysqlDump/mydb.sql

    一次备份多个数据库

    mysqldump -uroot -p123456 --databases db1 db2 > /data/mysqlDump/mydb.sql

    1.3、 还原mysql备份内容

    有两种方式还原,第一种是在MySQL命令行中,第二种是使用SHELL行完成还原

    在系统命令行中,输入如下实现还原:

    mysql -uroot -p123456 < /data/mysqlDump/mydb.sql

    在登录进入mysql系统中,通过source指令找到对应系统中的文件进行还原:

    mysql> source /data/mysqlDump/mydb.sql

    二、 编写脚本维护备份的数据库文件

    在linux中,通常使用BASH脚本对需要执行的内容进行编写,加上定时执行命令crontab实现日志自动化生成。

    以下代码功能就是针对mysql进行备份,配合crontab,实现备份的内容为近一个月(31天)内的每天的mysql数据库记录。

    2.1、 编写BASH维护固定数量备份文件

    在Linux中,使用vi或者vim编写脚本内容并命名为:mysql_dump_script.sh

    #!/bin/bash#保存备份个数,备份31天数据number=31#备份保存路径backup_dir=/root/mysqlbackup#日期dd=`date +%Y-%m-%d-%H-%M-%S`#备份工具tool=mysqldump#用户名username=root#密码password=TankB214#将要备份的数据库database_name=edoctor#如果文件夹不存在则创建if [ ! -d $backup_dir ]; then         mkdir -p $backup_dir; fi#简单写法  mysqldump -u root -p123456 users > /root/mysqlbackup/users-$filename.sql$tool -u $username -p$password $database_name > $backup_dir/$database_name-$dd.sql#写创建备份日志echo "create $backup_dir/$database_name-$dd.dupm" >> $backup_dir/log.txt#找出需要删除的备份delfile=`ls -l -crt  $backup_dir2 * * * echo "Have a break now." >> /tmp/test.txt

    晚上11点到早上8点之间每两个小时和早上八点

    0 23-7/2,8 * * * echo "Have a good dream" >> /tmp/test.txt

    每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

    0 11 4 * 1-3 command line

    1月1日早上4点

    0 4 1 1 * command line SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号 HOME=/

    每小时执行/etc/cron.hourly内的脚本

    01 * * * * root run-parts /etc/cron.hourly

    每天执行/etc/cron.daily内的脚本

    02 4 * * * root run-parts /etc/cron.daily

    每星期执行/etc/cron.weekly内的脚本

    22 4 * * 0 root run-parts /etc/cron.weekly

    每月去执行/etc/cron.monthly内的脚本

    42 4 1 * * root run-parts /etc/cron.monthly

    注意: "run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名。  

    每天的下午4点、5点、6点的5 min、15 min、25 min、35 min、45 min、55 min时执行命令。

    5,15,25,35,45,55 16,17,18 * * * command

    每周一,三,五的下午3:00系统进入维护状态,重新启动系统。

    00 15 * * 1,3,5 shutdown -r +5

    每小时的10分,40分执行用户目录下的innd/bbslin这个指令:

    10,40 * * * * innd/bbslink

    每小时的1分执行用户目录下的bin/account这个指令:

    1 * * * * bin/account

    三、执行效果截图

    以下是我的测试每分钟的截图效果,其对应代码如下:

    * * * * * /root/mysql_backup_script.sh

    效果截图:

    MySQL如何实现定时全库备份数据库

    其中的log.txt记录备份的操作详细日志:

    MySQL如何实现定时全库备份数据库

    感谢各位的阅读!关于“MySQL如何实现定时全库备份数据库”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    MySQL如何实现定时全库备份数据库

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

    下载Word文档

    猜你喜欢

    MySQL如何实现定时全库备份数据库

    这篇文章给大家分享的是有关MySQL如何实现定时全库备份数据库的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、MySQL数据备份1.1、 mysqldump命令备份数据在MySQL中提供了命令行导出数据库数据以
    2023-06-20

    mysql数据库定时备份怎么实现

    有多种方法可以实现MySQL数据库的定时备份,以下是其中一种常用的方法:使用crontab定时任务:首先创建一个备份脚本,比如backup.sh,该脚本可以使用mysqldump命令来备份数据库,如下所示:#!/bin/bashmysql
    mysql数据库定时备份怎么实现
    2024-04-12

    mysql如何实现定时自动备份数据库功能

    这篇文章主要介绍mysql如何实现定时自动备份数据库功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!第一种,数据跑在服务器上,如果只想定时把数据库备份放在服务器(此处服务器系统为centos7)上,可如下设置:首先
    2023-06-20

    Linux 下如何实现 MySQL 数据库每天自动备份定时备份

    备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。

    定时任务备份mysql数据库,同时备份多个数据库

    编写备份数据库的shell脚本创建脚本mkdir -p /root/mysql_dump/datacd /root/mysql_dumpvim mysql_back.sh脚本内容如下#!/bin/sh# File: /root/mysql_dump/mysql
    2018-09-25

    Mysql数据库如何手动及定时备份

    这篇文章给大家分享的是有关Mysql数据库如何手动及定时备份的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。手动备份1)cmd控制台:mysqldump -uroot -proot 数据库名 [表名1,表名2...
    2023-06-25

    Linux shell实现每天定时备份mysql数据库

    每天定时备份mysql数据库任务,删除指定天数前的数据,保留指定天的数据; 需求:1,每天4点备份mysql数据;2,为节省空间,删除超过3个月的所有备份数据;3,删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据;#
    2022-06-04

    mysql数据库定时每天备份怎么实现

    实现MySQL数据库定时每天备份可以使用以下方法:使用cron定时任务:在Linux系统上,可以使用cron定时任务来实现每天备份MySQL数据库。通过编辑cron表达式,指定备份任务的执行时间。在cron任务中,使用`mysqldump`
    2023-10-24

    Linux下如何实现MySQL数据库每天定时自动备份

    在云计算的浪潮下,企业多将业务部署在云上。对于数据库中的数据,直接使用云数据库自带的备份功能实现备份,操作简单。但是云数据库备份数据的存储空间有限制,一旦超出存储量便自动关闭备份功能,运维人员往往也会忽略这个问题,如果这时遭遇系统故障,面临的就是数据丢失。 下
    Linux下如何实现MySQL数据库每天定时自动备份
    2016-01-07

    sql数据库定时备份如何弄

    要定时备份一个SQL数据库,可以使用数据库管理工具或者编写脚本来执行备份操作。以下是一些常用的方法:使用数据库管理工具:大多数数据库管理工具都提供了定时备份数据库的功能。例如,可以使用MySQL Workbench来创建一个定时任务来备份M
    sql数据库定时备份如何弄
    2024-04-09

    sqlserver定时备份数据库怎么实现

    要实现定时备份数据库,可以使用SQL Server的内置功能——作业(Job)。以下是实现步骤:打开SQL Server Management Studio,连接到要备份的数据库服务器。在“对象资源管理器”中展开“SQL Server 代理
    sqlserver定时备份数据库怎么实现
    2024-04-09

    数据库实时备份如何做

    要实现数据库的实时备份,可以使用以下方法:1. 使用数据库的内置备份功能:大多数数据库管理系统(DBMS)都提供了备份和恢复功能。你可以使用DBMS提供的命令或工具来执行数据库的实时备份。这些工具通常会将数据库的数据和日志文件复制到备份文件
    2023-08-30

    编程热搜

    目录