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

在处理数据时,可能会出现数据错误甚至数据库崩溃的情况,但有效的定时备份可以很好地保护数据库。
本文主要介绍定期备份MySQL数据库的各种方法。
1、mysqldump命令提供了一个通过命令行导出数据库数据和文件的便捷工具。
首先我们简单了解一下mysqldump的用法命令:#MySQLdump常用MySQLdump-uroot-p--databasesDatabase1Database2>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。
转储单个数据库的结构mysqldump-uroot-p123456my备份单个数据库的数据mysqldump-uroot-p123456mydb-t>/data/mysqlDump/mydb.sql7.备份多个表的数据和结构(单独备份)。
数据和结构)方法同上)mysqldump-uroot-p123456mydbt1t2>/data/mysqlDump/mydb.sql8。
一次备份多个数据库。
mysqldump-uroot-p123456--databasesdb1db2>/data/mysqlDump/mydb.sql3、恢复MySQL备份内容有两种方法。
第一个选项是通过shell行完成恢复。
1.在系统命令行中,键入以下内容进行恢复:mysql-uroot-p123456登录进入MySQL系统,使用source命令查找对应系统中的文件进行恢复:mysql>source/data/mysqlDump/mydb.sql在Linux中,通常使用BASH脚本来执行内容写入。
并添加crontab命令以定期运行自动日志生成。
以下代码的作用是结合Crontab来保护MySQL的安全。
备份内容包括上个月(31天)的每日MySQL数据库记录。
编写BASH来维护固定数量的备份文件。
Linux下使用vi或vim编写脚本内容并命名为:mysql_dump_script.sh#!/bin/bash#保存备份数量和备份31天数据数量=31#保存备份路径backup_dir=/root/mysqlbackup#日期dd=`日期+%Y-%m-%d-%H-%M-%S`#备份工具tool=mysqldump#用户名username=root#密码password=TankB214#要备份的数据库databasename=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、首先设置各种参数,如:B、数量、最大备份数量及备份路径、用户名、密码等。
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//启动服务。
servicecrondstop//关闭服务cron后台进程。
用户将需要执行的命令序列插入到crontab文件中执行。
每个用户都可以有自己的crontab文件。
/var/spool/cron下的crontab文件不能直接创建或修改。
crontab文件是使用crontab命令创建的。
如何在crontab文件中输入命令和执行时间。
该文件中的每一行包含六个字段。
前五个字段表示将执行该命令的时间,最后一个字段是要执行的命令。
使用空或制表符分隔每个字段。
格式如下:MinuteHourDay-of-MonthMonth-of-YearDay-of-WeekCommands允许值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:添加计划任务。
运行crontacrontest.cron命令。
调用第三步:crontab-l查看定时任务是否成功或者/var/spool/cron下是否生成了对应的cron脚本。
注:此操作是替换用户下直接的crontab而不是添加一个新的定期执行(记得先给shell脚本执行权限)02***/root/mysql_backup_script.sh然后使用crontab命令让常规命令crontabmysqlRollback.cron编写的定时脚本检查定时任务是否创建,使用如下命令:请查附件的用法示例crontab:1.每天早上6:06am***echo"Goodmorning.">>/tmp/test.txt//注意,使用简单的echo屏幕上没有输出,因为cron将每个输出通过电子邮件输出到根邮箱。
2.每两小时0*/2***echo"Haveabreaknow.">>/tmp/test.txt3晚上11:00至上午8:00和上午8:00之间每两小时023-7/2,8***回显“Haveagooddream”>>/tmp/test.txt4。
每月4日以及每周一至周三上午11点0114*1-3命令行5.1月1日4:00AM0411*commandlineSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root//如果出现错误或数据存在输出:数据保存为Email发送到此帐户。
主页=/6。
每小时运行/etc/cron.hourly7中的脚本01****rootrun-parts/etc/cron.hourly/etc/cron.daily中的脚本024***rootrun-parts/etc/cron.daily8将运行每个被处决的日子。
每周运行/etc/cron.weekly224**0rootrun-parts/etc/cron.weekly9中的脚本。
每月运行/etc/cron.monthly中的脚本。
**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:00重启系统。
0015**1、3、5关机-r+512。
每小时10分钟、40分钟,在用户目录运行innd/bbslin命令:10、40****innd/bbslink13每小时1分钟,运行用户目录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数据库一主一备的数据备份策略mysql一主一备

MySQL数据库一主一备的数据备份策略在实际应用中非常重要。
当数据库出现故障或者人为错误导致数据丢失时,备份文件可以恢复数据。
MySQL数据库备份的策略有很多种,其中一主一备的数据备份策略是最靠谱可靠的,本文介绍如何实现MySQL数据库的一主一备备份。
1.环境搭建和准备在开始备份操作之前,您需要搭建一主一备的数据库环境,并确保主备服务器相互连接。
常用的数据库备份方法包括物理备份和逻辑备份。
物理备份是对表空间、日志等数据文件的直接备份,适合数据量较大的情况。
逻辑备份是SQL语句的备份,适合备份少量数据。
本文以物理备份为例。
二、主服务器备份配置1、安装xtrabackupxtrabackup是Percona提供的用于备份MySQL数据库数据的软件,支持InnoDB引擎。
以下是安装xtrabackup的方法:#yuminstall-yhttps://repo.percona.com/yum/percona-release-latest.noarch.rpm#percona-releasesetupps80#yuminstall-ypercona-xtrabackup-802在主服务器上创建备份脚本server脚本内容如下:#!/lib/mysql/mysql.sock"backup_dir=”/data/backup”backup_date=`date+%Y-%m-%d-%H%M`xtrabackup–backup–user=$mysql_user–password=$mysql_password–socket=$mysql_socket–target-dir=$bckup_dir/$backup_date3计划在主服务器上配置计划任务,每天凌晨3点运行。
备份数据库位于:#crontab-e03***/bin/bash/root/backup.sh安装xtrabackup也必须在备份服务器上安装xtrabackup:#yuminstall-yhttps://repo.percona.com/yum/percona-release-latest.noarch.rpm#percona-releasesetupps80#yuminstall-ypercona-xtrabackup-802在备份服务器中创建还原脚本在服务器上还原创建脚本.sock”backup_dir=”/data/backup”rm-rf/var/lib/mysql/*xtrabackup–copy-back–user=$mysql_user–password=$mysql_password–socket=$mysql_socket–target-dir=$backup_dir/$backup_date3.恢复数据库4.总结MySQL数据库一主一备备份策略。
备份服务器可以它作为主服务器的备份并确保主服务器数据的可靠性,而计划备份和自动恢复脚本则确保备份副本的功能。
需要根据实际情况定期进行测试和优化,以保证实际使用过程中数据备份的稳定性和可靠性。