手动安装AutoMySQLbackup

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
日志服务 SLS,月写入数据量 50GB 1个月
简介:

1 前言

公司的前辈使用AutoMySQLbackup脚本备份数据库,去官方学习一番,发现确实是个不错的东西,可以简化MySQL备份,然后自己整理出来分享。

由于是个人整理,以下不保证完全正确,所以英文好的还是建议看官方文档,本文仅当参考。当然,有指正的非常欢迎。

2 实践部分

2.1 下载并解压备份程序

1
2
wget https: //svwh .dl.sourceforge.net /project/automysqlbackup/AutoMySQLBackup/AutoMySQLBackup %20VER%203.0 /automysqlbackup-v3 .0_rc6. tar .gz
tar  -xf automysqlbackup-v3.0_rc6. tar .gz

2.2 创建程序目录

1
mkdir  /etc/automysqlbackup

2.3 部署自动备份软件的配置文件

1
2
cp  automysqlbackup.conf  /etc/automysqlbackup/
cp  /etc/automysqlbackup/automysqlbackup .conf  /etc/automysqlbackup/myserver .conf

2.4 部署自动备份可执行文件

1
cp  automysqlbackup  /usr/local/bin/

2.5 定义配置任务

2.5.1 配置文件位置

1
vim  /etc/automysqlbackup/myserver .conf

2.5.2 MySQL与MySQLDump可执行程序位置(可选)

查询MySQL与MySQLDump程序路径

1
whereis  mysql;  whereis  mysqldump

显示如下:

1
2
mysql:  /usr/bin/mysql  /usr/lib64/mysql  /usr/include/mysql  /usr/share/mysql  /usr/share/man/man1/mysql .1.gz
mysqldump:  /usr/bin/mysqldump  /usr/share/man/man1/mysqldump .1.gz

故参数配置如下:

1
PATH=${PATH}: /usr/bin

注:如果使用whereis查询不到,说明没有环境变量,则需要指定程序的真实位置。

2.5.3 基本配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 数据库备份用户
CONFIG_mysql_dump_username= 'root'
 
# 数据库备份用户密码
CONFIG_mysql_dump_password= ''
 
# 数据库服务器名称或IP地址
CONFIG_mysql_dump_host= 'localhost'
 
# 数据库服务器更适合人类辨识的名称(不配置则默认为CONFIG_mysql_dump_host指定值)
CONFIG_mysql_dump_host_friendly= ''
 
# 数据库备份存放的位置 
CONFIG_backup_dir= '/var/backup/db'
 
# 多种压缩方式
# pigz -> gzip
# pbzip2 -> bzip2
CONFIG_multicore= 'yes'
 
# 多线程(内核数量应小于内核数量,不能等于)
CONFIG_multicore_threads=2

2.5.4 配置要备份的数据库

1
2
3
4
5
6
7
8
# 配置备份的数据库,默认是所有,特定数据库请写成 ( 'DB1' 'DB2' 'DB3' ... )
CONFIG_db_names=()
 
# 月备份的数据库列表,为空则自动从information_schema数据库读取
CONFIG_db_month_names=()
 
# 排除的数据库,可使用通配符方式,如'mydb.a*'
#CONFIG_table_exclude=()

2.5.5 高级配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 定义每月的那一天备份,使用01到31表示,0表示关闭月备份
#CONFIG_do_monthly="01"
 
# 定义每周的那一天备份,使用1到7 表示,0 表示关闭周备份
CONFIG_do_weekly= "5"
 
# 配置日备份文件保留的天数,最小单位1天(24小时)
CONFIG_rotation_daily=6
 
# 配置周备份文件保留的天数,最小单位1天(24小时)
CONFIG_rotation_weekly=35
 
# 配置月备份文件保留的天数,最小单位1天(24小时)
CONFIG_rotation_monthly=150

2.5.6 服务器连接设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 定义每月的那一天备份,使用01到31表示,0表示关闭月备份
#CONFIG_do_monthly="01"
 
# 定义每周的那一天备份,使用1到7 表示,0 表示关闭周备份
CONFIG_do_weekly= "5"
 
# 配置日备份文件保留的天数,最小单位1天(24小时)
CONFIG_rotation_daily=6
 
# 配置周备份文件保留的天数,最小单位1天(24小时)
CONFIG_rotation_weekly=35
 
# 配置月备份文件保留的天数,最小单位1天(24小时)
CONFIG_rotation_monthly=150

2.5.7 服务器连接配置

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
# 数据库连接的端口
CONFIG_mysql_dump_port=3306
 
# 压缩服务器与MySQL数据库之间的通讯
CONFIG_mysql_dump_commcomp= 'no'
 
# 使用SSL加密MySQLDump
CONFIG_mysql_dump_usessl= 'yes'
 
# 使用Unix socket file方式连接数据库
#CONFIG_mysql_dump_socket=''
 
# 客户端与服务器通讯的缓冲区大小 (最大1GB)
CONFIG_mysql_dump_max_allowed_packet= ''
 
# 使用事务保证备份一致性
#CONFIG_mysql_dump_single_transaction='no'
 
# http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html#option_mysqldump_master-data
#CONFIG_mysql_dump_master_data=
 
# 直接加载mysql.proc表的内容
CONFIG_mysql_dump_full_schema= 'yes'
 
# 文本文件中的表备份状态
CONFIG_mysql_dump_dbstatus= 'yes'

2.5.8 备份转储设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 备份中包括Create Database
CONFIG_mysql_dump_create_database= 'no'
 
# 为每个数据库分割备份目录和文件
CONFIG_mysql_dump_use_separate_dirs= 'yes'
 
# 选择压缩的类型(gzip或bzip2)
CONFIG_mysql_dump_compression= 'gzip'
 
# 将最新的附加副本存储的标准位置
#CONFIG_mysql_dump_latest='no'
 
# 从最新文件夹中的文件名中删除所有日期和时间信息
#CONFIG_mysql_dump_latest_clean_filenames='no'
 
# 使用差异备份
#CONFIG_mysql_dump_differential='no'

2.5.9 通知设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 配置邮件的内容
# - log   : 发送日志文件
# - files :发送日志文件和sql作为附件
# - stdout : 如果手动运行,将简单地把日志输出到屏幕
# - quiet : 只有邮件地址发生错误时才发送日志
CONFIG_mailcontent= 'stdout'
 
# 设置最大邮件大小(单位k)
#CONFIG_mail_maxattsize=4000
 
# 允许使用tar拆分打包
CONFIG_mail_splitandtar= 'yes'
 
# 使用uuencoded发送邮件
CONFIG_mail_use_uuencoded_attachments= 'no'
 
# 接收邮件的邮箱 (user@domain.com)
#CONFIG_mail_address='root'

2.5.10 加密设置

1
2
3
4
5
# 使用OpenSSL加密备份
CONFIG_encrypt= 'no'
 
# 使用密码加密备份
#CONFIG_encrypt_password='password0123'

2.5.11 其他设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 指定备份的本地文件,如my.cnf
CONFIG_backup_local_files=()
 
# 备份开始前运行的命令
CONFIG_prebackup= "/etc/mysql-backup-pre"
 
# 备份结束后运行的命令
CONFIG_postbackup= "/etc/mysql-backup-post"
 
# 配置备份的文件夹和文件的权限
umask  0077
 
# 显示执行状态
CONFIG_dryrun=1

2.6 调用程序以及配置

2.6.1 创建调用的计划任务

1
vim  /etc/cron .daily /runmysqlbackup

输入如下内容:

1
2
3
4
5
6
7
#!/bin/sh
 
/usr/local/bin/automysqlbackup  /etc/automysqlbackup/myserver .conf
 
chown  root.root  /var/backup/db * -R
find  /var/backup/db * - type  f - exec  chmod  400 {} \;
find  /var/backup/db * - type  d - exec  chmod  700 {} \;

2.6.2 授权计划任务脚本

1
chmod  +x  /etc/cron .daily /runmysqlbackup

2.6.3 创建备份目录

1
mkdir  -p  /var/backup/db

2.6.4 手动执行测试

1
automysqlbackup  /etc/automysqlbackup/myserver .conf

2.6.5 确认备份

1
gunzip  /var/backup/db/daily/mysql/daily_mysql_2017-02-28_19h27m_Tuesday .sql.gz









本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1902311,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4月前
|
Shell 网络安全 开发工具
gitbash 安装与使用
gitbash 安装教程
63 1
|
Kubernetes Linux 网络安全
安装k8s
完成安装k8s集群以后,推荐使用[https://github.com/512team/dhorse](https://github.com/512team/dhorse)发布应用。 ## 准备环境 准备两台服务器节点,如果需要安装虚拟机,可以参考[《wmware和centos安装过程》](https://blog.csdn.net/huashetianzu/article/details/109510266) | 机器名 | IP | 角色 | CPU | 内存 | | :----: | :----: | :----: | :----: | :----: | | centos01 |
|
NoSQL 网络安全 Redis
redisd的简易安装运用
redisd的简易安装运用
95 0
(4)(4.2.1) 安装自动驾驶仪
(4)(4.2.1) 安装自动驾驶仪
91 0
安装
安装
127 0
|
NoSQL MongoDB
Robomongo 的安装
Robomongo 的安装
155 0
Robomongo 的安装
|
Shell 数据库 Windows
KBEngine 安装
其实这篇的内容官方文档都有, 但是既然打算记录一下学习笔记, 也就先从安装开始了. 一 下载源代码 进入github下载最新release的源码压缩包. windows选择zip, 下载完成之后右键解压缩.
2546 0
|
应用服务中间件 PHP nginx