background image
mysql 创建数据库脚本
此脚本将远程主机或者本地主机上的数据库的数据备份到本地。
备份
MySQL 数据库除了 information_schema、performance_schema、mysql 自带库的其
他生产库。
备份时将
MySQL 数据库中的每一个库都进行备份(穷举),生成一个包含数据结构和数据
的备份文件和一个仅包含数据结构的备份文件。
通常此脚本将结合
crontab 一起使用,crontab 的使用方法已经在脚本中列出。
允许用户修改的变量如下:
1
2
3
4
5
6
7
mysql_host=127.0.0.1
# 主机地址
mysql_port=3306
# 主机端口号
mysql_username=dev
# 备份时使用的用户名
mysql_password=dev
# 备份时使用的用户名的密码
mysql_basedir=/usr/local/mysql
# mysqlbase 目录,如果是自定义
安装的 mysql,则修改此处,使用软件包安装的 mysql 则无需修改此处
save_old_backups_for_days=5
# 保存备份文件的天数
mysql_backup_dir=/data/backup/db/mysql
# mysql 备份路径
脚本内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/env bash
# Function description:
# Backup MySQL databases for each, backup schema and schema with data in one action.
# Usage:
# bash BackupMysqlByDate.sh
# Birth Time:
# 2016-06-24 17:44:43.895515929 +0800
# Author:
# Open Source Software written by 'Guodong Ding <dgdenterprise@gmail.com>'
# Blog: http://dgd2010.blog.51cto.com/
# Github: https://github.com/DingGuodong
# Others:
# crontabs -- configuration and scripts for running periodical jobs
# SHELL=/bin/bash
# PATH=/sbin:/bin:/usr/sbin:/usr/bin
# MAILTO=root
# HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)