mysqldump不锁表备份

mysql不锁表备份

背景:医院客户反馈,凌晨录入患者信息时,会提示录不进去,经排查该时段是mysqldump备份时间,由于录入时间与备份时间冲突,所以觉得修改备份参数,在备份是不锁表。

原备份脚本

#!/bin/bash
date=`date +%Y%m%d-%H%M%S`
mysqldump --opt -P 3306 -h localhost -uroot -S /data/mysql/data/mysql.sock -p'Pass@W0rd' --all-databases 2>/dev/null |gzip > /data/backup/mysql_fullback-${date}.sql.gz
if [ $? -eq 0 ];then
	echo "$(date +%Y%m%d-%H%M%S) :backup complete !" >> /data/backup/backup.log
else
	echo "$(date +%Y%m%d-%H%M%S) :backup failed !" >> /data/backup/backup.log
fi
cd /data/backup
#tar -zcvf mysql_fullback-${date}.sql.tgz mysql_fullback-${date}.sql --remove-files
find /data/backup/ -type f -mtime +15 |xargs rm -f

修改后的备份脚本

#!/bin/bash
date=`date +%Y%m%d-%H%M%S`
mysqldump --skip-opt --single-transaction -P 3306 -h localhost -uroot -S /data/mysql/data/mysql.sock -p'Pass@W0rd' --all-databases 2>/dev/null |gzip > /data/backup/mysql_fullback-${date}.sql.gz
if [ $? -eq 0 ];then
	echo "$(date +%Y%m%d-%H%M%S) :backup complete !" >> /data/backup/backup.log
else
	echo "$(date +%Y%m%d-%H%M%S) :backup failed !" >> /data/backup/backup.log
fi
cd /data/backup
#tar -zcvf mysql_fullback-${date}.sql.tgz mysql_fullback-${date}.sql --remove-files
find /data/backup/ -type f -mtime +15 |xargs rm -f

其他命令

mysql mysqldump 只导出表结构 不导出数据

mysqldump --opt -d 数据库名 -u root -p > xxx.sql

备份数据库

mysqldump 数据库名 >数据库备份名 
mysqldump -A -u用户名 -p密码 数据库名>数据库备份名 
mysqldump -d -A --add-drop-table -uroot -p >xxx.sql
  1. 导出结构不导出数据
mysqldump --opt -d 数据库名 -u root -p > xxx.sql
  1. 导出数据不导出结构
mysqldump -t 数据库名 -uroot -p > xxx.sql  
  1. 导出数据和表结构
mysqldump 数据库名 -uroot -p > xxx.sql  
  1. 导出特定表的结构
mysqldump -uroot -p -B 数据库名 --table 表名 > xxx.sql  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值