作者:80后之多管闲事 | 来源:互联网 | 2023-08-07 07:51
支持基于InnoDB的热备份。但由于是逻辑备份,所以速度不是很快,适合备份数据量比较小的场景。火星上的面包bash#Program#usemysqldumptoFul
标签:
一. mysqldump工具备份
mysqldump是mysql附带的备份工具,因此也是最常见的mysql数据库备份工具。 支持基于InnoDB的热备份。 但是,因为是逻辑备份,所以适合于速度不高、备份数据量少的场景。
mysqldump完全备份二进制日志,实现时间点恢复
kddg:
MyISAM引擎只能使用kddg部分。 此时,为了防止数据写入,先进行读锁定
此时,可以访问数据库并手动进行读锁定。 这很麻烦,所以您可以选择锁定mysqldump工具
mysqldump---databases my database---lock-all-tables-- flush-logs/tmp/backup-` date % f-% h-% m
备份某个表时,只需在数据库名之后附加表名即可
现在,要实现时间点恢复,必须添加--flush-logs选项,使用备份文件进行恢复,然后根据二进制日志进行时间点恢复
时间点恢复方法
mysql火星面包log mysql-火星面包. 000000x /tmp/PointTime.sql
然后用mysql命令导入这个sql脚本就可以了
热备盘:
如果使用的是InnoDB引擎,则不需要锁定数据库。 热备份- -添加单转换选项
mysqldump---- databases mydb---- single-transaction---flush-logs---master-data=2/tmp/backup-`
注意事项
的时候关闭二进制日志
mysqlset sql_log_火星平移=0;
示例:
# vim /usr/work/newsbackup.sh
//填写以下内容
#! 火星面包/面包
# Program
# usemysqldumptofullybackupnewsdatabasedataperweek!
#History (版本) )
# 2015-07-27第一次
#path (定义目录) )。
BakDir=/usr/work/mysql/backup
Days=7 #DAYS=7意味着要删除七天前的备份。 这意味着只保留最近7天的备份
del date=` date-d-7 day % y % m % d ` # FTP删除服务器空间前7天的备份
echo 'You are in backup dir '
filedate=$(date%y%m%d ).sql.gz
echo $FileDate
cd $BakDir
File=$Date.sql
#轻松备份
#mysqldump -u root news $FileDate
如果使用的是InnoDB引擎,则不需要锁定数据库。 请添加热备份选项。 - -单一转移
# mysqldump-uroot news-- single-transaction $文件日期
#继续压缩备份的数据
mysqldump-uroot news-- single-transaction|gzip/$ bak dir/$ file date
echo ' yourdatabasebackupsuccessfullycompleted '
#压缩某个数据并传递
echo FTP to FTP服务器
ftp -ivn EOF
#打开服务器连接
开放192.168.1.125
#用户密码
用户管理员zzf
#开放路径
光盘新备份
#放入文件
put $文件日期
#删除服务器上7天前的数据
delete $ del date.SQL.tz $ del date.SQL.tz
退出ftp服务器
bye
EOF
echo delete $ daysdaysagofiles (删除FTP服务器上7天前的文件) ) ) ) ) ) )。
cd $BakDir
删除#7天前的备份文件(注意: {}; 中间有空间)
find $ bak dir/' *.SQL.gz '-mtime $ days-exec RM { };
二.基于LVM快照的备份
物理备份包括基于文件系统的物理备份(LVM快照),也可以直接用tar等命令打包。 但是,这些只能进行冷备份
不同的存储引擎可以备份不同的级别。 MyISAM可以备份到表级别,但InnoDB必须打开每个表中的文件才能备份整个数据库。
本节介绍使用LVM快照功能的备份
为了安全起见,首先对数据库进行读取锁定
mysqlFLUSH TABLES WITH READ LOCK;
更新二进制日志可以方便地进行时间点恢复
mysqlFLUSH LOGS;
接下来,创建快照卷
lvcreatel1gsndata-snappr/dev/myvg/my data
最后进入数据库解除读锁定
解锁表;
装载备份的快照卷
mountr/dev/myvg/data-snap/mnt/snap
然后打包并备份/mnt/snap下的文件
恢复时,关闭mysqld,备份二进制日志,然后恢复原始备份的文件,并在二进制日志中出现错误时进行恢复。 (使用二进制恢复时间点时,请不要忘记暂时关闭二进制日志。 )
标签: