mysqldump不锁表备份
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
- 导出结构不导出数据
mysqldump --opt -d 数据库名 -u root -p > xxx.sql
- 导出数据不导出结构
mysqldump -t 数据库名 -uroot -p > xxx.sql
- 导出数据和表结构
mysqldump 数据库名 -uroot -p > xxx.sql
- 导出特定表的结构
mysqldump -uroot -p -B 数据库名 --table 表名 > xxx.sql

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)