iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL 数据库定时备份的几种方式(全面)
  • 405
分享到

MySQL 数据库定时备份的几种方式(全面)

2024-04-02 19:04:59 405人浏览 八月长安
摘要

目录一. Mysqldump命令备份数据 二. mysqldump常用操作示例三. 还原 Mysql 备份内容1、编写BASH维护固定数量备份文件2、使用crontab定期执行备份脚

一. mysqldump命令备份数据

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


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


二. 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

三. 还原 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数据库记录。

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

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


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

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


0 11 4 * 1-3 command line

(5).1月1日早上4点


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

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


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

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


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

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


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

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


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


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

(10).每天的下午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

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


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

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


10,40 * * * * innd/bbslink

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


1 * * * * bin/account


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


* * * * * /root/mysql_backup_script.sh


效果截图:

到此这篇关于MySQL 数据库定时备份的几种方式(全面)的文章就介绍到这了,更多相关MySQL 数据库定时备份的几种方式内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL 数据库定时备份的几种方式(全面)

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

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

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

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

下载Word文档
猜你喜欢
  • oracle怎么查询当前用户所有的表
    要查询当前用户拥有的所有表,可以使用以下 sql 命令:select * from user_tables; 如何查询当前用户拥有的所有表 要查询当前用户拥有的所有表,可以使...
    99+
    2024-05-14
    oracle
  • oracle怎么备份表中数据
    oracle 表数据备份的方法包括:导出数据 (exp):将表数据导出到外部文件。导入数据 (imp):将导出文件中的数据导入表中。用户管理的备份 (umr):允许用户控制备份和恢复过程...
    99+
    2024-05-14
    oracle
  • oracle怎么做到数据实时备份
    oracle 实时备份通过持续保持数据库和事务日志的副本来实现数据保护,提供快速恢复。实现机制主要包括归档重做日志和 asm 卷管理系统。它最小化数据丢失、加快恢复时间、消除手动备份任务...
    99+
    2024-05-14
    oracle 数据丢失
  • oracle怎么查询所有的表空间
    要查询 oracle 中的所有表空间,可以使用 sql 语句 "select tablespace_name from dba_tablespaces",其中 dba_tabl...
    99+
    2024-05-14
    oracle
  • oracle怎么创建新用户并赋予权限设置
    答案:要创建 oracle 新用户,请执行以下步骤:以具有 create user 权限的用户身份登录;在 sql*plus 窗口中输入 create user identified ...
    99+
    2024-05-14
    oracle
  • oracle怎么建立新用户
    在 oracle 数据库中创建用户的方法:使用 sql*plus 连接数据库;使用 create user 语法创建新用户;根据用户需要授予权限;注销并重新登录以使更改生效。 如何在 ...
    99+
    2024-05-14
    oracle
  • oracle怎么创建新用户并赋予权限密码
    本教程详细介绍了如何使用 oracle 创建一个新用户并授予其权限:创建新用户并设置密码。授予对特定表的读写权限。授予创建序列的权限。根据需要授予其他权限。 如何使用 Oracle 创...
    99+
    2024-05-14
    oracle
  • oracle怎么查询时间段内的数据记录表
    在 oracle 数据库中查询指定时间段内的数据记录表,可以使用 between 操作符,用于比较日期或时间的范围。语法:select * from table_name wh...
    99+
    2024-05-14
    oracle
  • oracle怎么查看表的分区
    问题:如何查看 oracle 表的分区?步骤:查询数据字典视图 all_tab_partitions,指定表名。结果显示分区名称、上边界值和下边界值。 如何查看 Oracle 表的分区...
    99+
    2024-05-14
    oracle
  • oracle怎么导入dump文件
    要导入 dump 文件,请先停止 oracle 服务,然后使用 impdp 命令。步骤包括:停止 oracle 数据库服务。导航到 oracle 数据泵工具目录。使用 impdp 命令导...
    99+
    2024-05-14
    oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作