mysql数据库备份命令mysql数据备份的三种方法

在数据操作过程中,可能会出现数据损坏甚至数据库挂起的情况,但有效的定时备份可以很好地保护数据库。
本文主要介绍定期备份MySQL数据库的几种方法。
1、mysqldump命令备份数据。
Mysqldump提供了一个方便的工具,用于在MySQL中从命令行导出数据和数据库文件。
我们可以通过命令行直接导出和转储数据库内容。
命令:#MySQLdumpMySQL常用dump-uroot-p--databases数据库1数据库2>xxx.sql二、Mysqldump一般工作示例1、备份所有数据库的数据和结构mysqldump-uroot-p123456-A>/data/mysqlDump/mydb.sql2。
备份本地数据库的全部结构(添加-d参数)mysqldump-uroot-p123456-A-d>/data/mysqlDump/mydb.sql3。
备份所有数据库的数据(添加-t参数)mysqldump-uroot-p123456-A-t>/data/mysqlDump/mydb.sql4.备份数据库的数据和结构(数据库名称mydb)mysqldump-uroot-p123456mydb>/data/mysqlDump/mydb.sql5。
db-d>/data/mysqlDump/mydb.sql6。
单个数据库的备份数据mysqldump-uroot-p123456mydb-t>/data/mysqlDump/mydb.sql7.数据和结构)与上面的方法相同)mysqldump-uroot-p123456mydbt1t2>/data/mysqlDump/mydb.sql8。
一次备份多个数据库mysqldump-uroot-p123456--databasesdb1db2>/data/mysqlDump/mydb.sql3.恢复MySQL备份内容有两种方法第一种方法是在MySQL命令行中第二种方法是使用SHELL行完成恢复过程1.在系统命令行中,输入以下信息。
恢复:mysql-uroot-p123456进入mysql系统,使用source命令找到对应系统中的文件进行恢复:mysql>source/data/mysqlDump/mydb.sql。
在Linux中,经常使用BASH脚本来编写需要执行的内容,并且添加了crontab命令来定期执行。
下面代码的作用是备份mysql。
结合crontab,备份内容是近一个月(31天)每天的mysql数据库记录。
编写BASH保持固定数量的备份文件在Linux下,使用vi或vim编写脚本内容并命名为:mysql_dump_script.sh#!/bin/bash#保存备份数量,备份31天的数据数量=。
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];thenmkdir-p$backup_dir;fi#简单写法mysqldump-uroot-p123456users>/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_dir/*.sql|awk'{print$9}'|head-1`#评估当前备份数量是否大于$numbercount=`ls-l-crt$backup_dir/*.sql|awk'{print$9}'|wc-l`if[$count-gt$number]then#删除最早创建的备份,只保留备份份数rm$delfile#写入删除日志文件echo"delete$delfile">>$backup_dir/log.txtfi上述代码的主要含义如下:1、首先设置各种参数,如备份数量、最大备份数量、备份路径、用户名、密码等。
2、执行mysqldump命令保存备份文件,并将操作打印到同目录下的log.txt中,标记操作日志。
3、确定要删除的文件:使用ls命令获取第九列,即文件名列,然后通过执行过程确定最新操作时间的要删除的文件。
4.确定备份数量:使用ls命令统计以sql结尾的文件的行数。
5、如果文件超过限制大小,则删除最早创建的sql文件,并使用crontab定期执行备份脚本。
在Linux中,定期执行的任务通常由cron守护进程[ps-ef|grepcron]处理。
cron读取一个或多个包含命令行及其调用时间的配置文件。
Cron的配置文件称为“crontab”,是“crontable”的缩写。
cron服务cron是Liunx中的一个计划执行引擎,无需人工干预即可运行作业。
servicecrondstart//启动服务crondstop//关闭服务servicecrondrestart//重新启动服务servicecrondreload//重新加载配置servicecrondstatus//查看服务状态crontab语法crontab命令用于安装、删除或列出用于控制cron后台进程的表。
用户将要执行的命令字符串放入crontab文件中执行。
每个用户都可以有他或她自己的crontab文件。
/var/spool/cron中的crontab文件无法直接创建或修改。
crontab文件是通过crontab命令创建的。
如何在crontab文件中输入命令和执行时间。
该文件中的每一行由六个字段组成,前五个字段指定命令执行的时间,最后一个字段是执行的命令。
使用空格或制表符分隔每个字段。
格式如下:分钟小时月份月份年份星期几命令合法值00-5900-2301-3101-120-6(0issunday)除了数字之外,还有一些特殊符号:“*”、“/“和”-”,”,”。
*代表取值范围内的所有数字,“/”代表所有数字的含义,“/5”代表每5个单位,“-”代表从某个数字到某个数字,用某个“,”分隔多个离散数字。
-l在标准输出上显示当前的crontab。
-r删除当前的crontab文件。
-e使用VISUAL或EDITOR环境变量指向的编辑器编辑当前的crontab文件。
当您完成编辑并退出时,编辑的文件将自动安装。
创建cron脚本的第一步:编写cron脚本文件并将其命名为mysqlRollBack.cron。
15,30,45,59****echo"xgmtest.....">>xgmtest.txt表示每隔15分钟,执行一次打印命令。
步骤2:添加计划任务。
执行命令“crontabcrontest.cron”。
执行第三步:“crontab-l”检查定时任务是否成功或者检查/var/spool/cron中是否创建了相应的cron脚本。
比就是添加一个新的脚本来执行计划任务脚本(记得先给shell脚本执行权限)02***/root/mysql_backup_script.sh然后使用crontab命令。
让用常规命令编写的定时脚本crontabmysqlRollback.cron通过命令检查定时任务是否已创建:附crontab的使用示例:1.每天早上6:06***echo"Goodmorning.">>/tmp/test.txt//注意,对于一个简单的echo,屏幕上看不到任何输出,因为cron发送了任何输出到原来的邮箱。
2.每两小时0*/2***回显“Haveabreaknow.”>>/tmp/test.txt3.晚上11点至上午8点和上午8点之间每两个小时023-7/2,8***echo"Haveagooddream">>/tmp/test.txt4。
每月4日以及周一至周三上午11点。
0114*1-3commandline5.January1at4:00am0411*commandlineSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root//如果出现错误或者有数据输出数据,数据以电子邮件HOME=/6的形式发送到此帐户。
每小时完成一次。
/etc/cron.hourly7中的脚本01****rootrun-parts/etc/cron.hourly/etc/cron.daily中的脚本024***rootrun-parts/etc/cron.daily8每天执行。
每周执行/etc/cron.weekly中的脚本224**0rootrun-parts/etc/cron.weekly9.每月执行/etc/cron.monthly中的脚本4241**rootrun-parts/etc/cron.monthly注意:“run-parts”是一个参数,如果省略此参数。
因此您可以编写稍后运行的脚本的名称而不是文件夹名称。
10.每天下午4点、5点、6点5分钟、15分钟、25分钟、35分钟、45分钟、55分钟执行订单。
5、15、25、35、45、5516、17、18***顺序11。
每周一、三、五下午3点系统进入维护状态并重启系统。
0015**1、3、5关机-r+512。
每小时10分钟、40分钟,在用户目录下执行innd/bbslin命令:10、40****innd/bbslink13。
,执行下面的用户命令Bin/account:下面是我每分钟测试的截图效果,对应的代码如下:*****/root/mysql_backup_script.sh效果截图:log.txt记录了备份操作。
详细日志:本文参考:1.常规MySQLdump命令www.cnblogs.com/smail-bao/p/6402265.html2.使用shell脚本备份mysql数据库:www.cnblogs.com/mracale/p/7251292.html3.Linux下Crontab定时任务执行命令详解:www.cnblogs.com/longjshz/p/5779215.html

mysql如何备份数据

1.1.mysqldump命令备份数据。
MySQL提供了一个方便的工具从命令行导出数据库数据和文件,我们可以通过命令行直接导出并转储数据库内容命令:#MySQLdumpmysqldump-uroot-p--databases常用数据库1数据库2>xxx。
sql1.2、mysqldump常用操作示例1、备份本地数据库所有数据和结构mysqldump-uroot-p123456-A>/data/mysqlDump/mydb.sql2。
备份所有数据库的结构(添加参数-d)mysqldump-uroot-。
p123456-A-d>/data/mysqlDump/mydb.sql3。
制作所有数据库数据的备份副本(添加-t参数)mysqldump-uroot-p123456-A-t>/data/mysqlDump/mydb.sql4。
备份单个数据库数据和结构(,数据库名称mydb)mysqldump-uroot-p123456mydb>/data/mysqlDump/mydb.sql5数据库结构mysqldump-uroot-p123456mydb-d>/data/mysqlDump/mydb.sql6.备份1个数据库数据mysqldump-uroot-p123456mydb-t>/data/mysqlDump/mydb.sql7.备份数据和多表结构(数据和结构单独备份方法同上)mysqldump-uroot-p123456mydbt1t2>/data/mysqlDump/mydb.sql8.一次备份多个数据库mysqldump-uroot-p123456--databasesdb1db2>/data/mysqlDump/mydb.sql