【mysqldump备份指定数据库表】my_dump.sh

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介:

【mysqldump备份指定数据库表】my_dump.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/bash
#
# 2015/6/8
# 根据指定的db.table,执行批量导出备份的任务,并归档到your_ip::bak上,发送邮件通知,最后再通知业务清理数据。
 
list_tables=(
t_a_201311
t_a_201312
t_b_201311
t_b_201312
t_c_201311
t_c_201312
t_d_201311
t_d_201312
t_e_201311
t_e_201312
)
 
 
function  dump_db_table() {
     local  d_db_base= '/data/app/mysql'
     local  s_datetime=$( date  +%Y%m%d_%H%M%S)
     local  s_port=3306
     local  s_password= 'xxx'
 
     local  s_db=$1
     if  [ -z ${s_port} ];  then
         echo  "Usage: $0 database table"
         exit  2;
     fi
 
     local  s_table=$2
     local  d_backup= "/home/backup/mysql/${s_port}/mysqldump/${s_db}"
     
     if  [ -z ${s_table} ];  then
         local  dump_args= "${d_db_base}/bin/mysqldump -h 127.0.0.1 -P ${s_port} -u root --password=${s_password} --hex-blob -R -E -e -q --triggers --default-character-set=latin1 ${s_db}"
         local  f_dump_tar= "${d_backup}/${s_datetime}-${s_db}.gz"
     else
         local  dump_args= "${d_db_base}/bin/mysqldump -h 127.0.0.1 -P ${s_port} -u root --password=${s_password} --hex-blob -R -E -e -q --triggers --default-character-set=latin1 ${s_db} ${s_table}"
         local  f_dump_tar= "${d_backup}/${s_datetime}-${s_table}.gz"
     fi
 
     test  -d ${d_backup} ||  mkdir  -p ${d_backup}
     echo  "[+] `date` Port: ${s_port} DB: ${s_db}.${s_table}"
 
     ${dump_args} | gzip  >${f_dump_tar}
 
     echo  "[-] `date` Saved to: ${f_dump_tar}"
     echo  "[-] `date` Done."
     echo
     sleep  1s
}
 
function  do_dump() {
     num_tables=${ #list_tables[@]}
     echo  "[numble of tables]: ${num_tables}"
     for  ((i=0;i<${num_tables};i++))
     do
         echo  "[${i}]导出表:${list_tables[$i]}"
         # 要执行真实操作时取消注释下面这1行
         #dump_db_table d_test2013 ${list_tables[$i]}
     done
}
 
function  do_bak() {
     do_dump
     #echo "[-] `date` rsync to your_ip::bak. Start."
     #rsync -avzP your_src_path your_ip::bak
     #echo "[-] `date` rsync to your_ip::bak. Done."
}
 
do_dump
# 要执行真实操作时取消注释下面这3行,并注释上面的这1行
#do_bak >/root/dump_db_table.log 2>&1
#rsync -avzP /root/dump_db_table.log your_ip::bak
#/usr/local/bin/python3 /usr/local/bin/mailman.py 'admin@company.com' '[backup] job done' "    ^.^ at `date`, backup some tables from d_test2013, now fininshed. Later on, I sent all tar.gz files to your_ip::bak by using rsync. (see log as attachement)" /root/dump_db_table.log



本文转自 pcnk 51CTO博客,原文链接:http://blog.51cto.com/nosmoking/1594800,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
存储 关系型数据库 MySQL
mysql数据库备份与恢复
MySQL数据库的备份与恢复是确保数据安全性和业务连续性的关键操作。
638 4
|
7月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
1318 1
|
11月前
|
存储 关系型数据库 分布式数据库
PolarDB开源数据库进阶课5 在线备份
本文介绍了如何在PolarDB RAC一写多读集群中进行在线备份,特别针对共享存储模式。通过使用`polar_basebackup`工具,可以将实例的本地数据和共享数据备份到本地盘中。实验环境依赖于Docker容器中用loop设备模拟的共享存储。
335 1
|
9月前
|
存储 关系型数据库 MySQL
利用Cron表达式实现MySQL数据库的定时备份
以上就是如何使用Cron表达式和mysqldump命令实现MySQL数据库的定时备份。这种方法的优点是简单易用,而且可以根据需要定制备份的时间和频率。但是,它也有一些限制,例如,它不能备份MySQL服务器的配置文件和用户账户信息,也不能实现增量备份。如果需要更复杂的备份策略,可能需要使用专门的备份工具或服务。
239 15
|
SQL 关系型数据库 MySQL
如何快速在表级别做同构或者异构数据库之间的数据迁移/备份
【8月更文挑战第17天】本文介绍在同构与异构数据库间快速迁移/备份表级数据的方法。同构迁移可利用数据库自带工具(如MySQL的`mysqldump`)或管理软件(如phpMyAdmin);异构迁移则推荐使用ETL工具(如Pentaho Data Integration)或数据库复制工具(如SymmetricDS),亦可通过编程方式实现。实施前需测试以确保数据完整准确,并注意处理兼容性问题。
642 4
|
10月前
|
关系型数据库 Shell 网络安全
定期备份数据库:基于 Shell 脚本的自动化方案
本篇文章分享一个简单的 Shell 脚本,用于定期备份 MySQL 数据库,并自动将备份传输到远程服务器,帮助防止数据丢失。
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
794 3
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
392 3
|
存储 定位技术 数据库
介绍一下数据库的备份和恢复策略
【10月更文挑战第21】介绍一下数据库的备份和恢复策略
|
关系型数据库 MySQL 数据库
Navicat备份数据库
涵盖`Navicat`数据库备份、数据安全及备份策略等主题。文库采用精美主题,提升阅读体验。
355 1
Navicat备份数据库