共计 1708 个字符,预计需要花费 5 分钟才能阅读完成。
本篇文章为大家展示了 MySQL 数据库中怎么实现表级别备份,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
备份脚本
#!/bin/bash #this is mysqldump auto table backup script #Copyright by hwb backup_path= /pasdata/backup user= root passwd= xx.xx.x.x dbname= pas_prod host= localhost tablename= t_att_overtime_application today=`date + %Y%m%d-%H%M%S ` sqlname=$tablename$today.sql if [ -e /home/scripts/log_function.sh ] then source /home/scripts/log_function.sh else echo -e “\033[41;37m /home/scripts/log_function.sh is not exist. \033[0m” exit 1 fi backup(){ log_correct 开始执行备份脚本, 删除 14 天过期备份 #backup mysqldump -h$host -u$user -p$passwd $dbname --tables $tablename $backup_path/$sqlname } delete(){ #delete expired 14 days find $backup_path -mtime +14 -type f -name *.sql -exec rm -f {} \; } size(){ cd $backup_path dd=`du -sh $sqlname` if [ -s ./$sqlname ] ; then log_correct 调休表备份正常 log_correct $dd else log_error 调休表备份失败 fi } backup delete size
核心命令如下:mysqldump -h$host -u$user -p$passwd $dbname –tables $tablename $backup_path/$sqlname
定时任务
设置定时任务如下:每隔 1h 的 30 分执行
30 0-23 * * * sh /home/scripts/table_backup.sh
附录:关于 mysqldump 导出表的命令
1、导出指定表的数据
mysqldump -t database -u username -ppassword --tables table_name1 table_name2 table_name3 table.sql
2、导出指定表的结构
mysqldump -d database -u username -ppassword --tables table_name1 table_name2 table_name3 table.sql
3、导出表的数据及结构
mysqldump database -u username -ppassword --tables table_name1 table_name2 table_name3 table.sql
4、某些表除外,其余表都需导出
mysqldump -h IP -u username -ppassword --default-character-set=utf8 --database database_name --ignore-table=database_name.table_name1 --ignore-table=database_name.table_name2 --ignore-table=database_name.table_name3 table.sql
上述内容就是 MySQL 数据库中怎么实现表级别备份,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注丸趣 TV 行业资讯频道。
正文完