i n*_*elp 16 mysql database backup
MySQL管理员>备份项目.它是一个很棒的工具,允许您选择数据库并安排它.
不过我的问题是:
今天有一些新的网站(新的数据库创建)明天又有了一些新的网站(创建了新的数据库)
在这种情况下,我必须始终进入备份项目>选择那些不在备份列表中的剩余架构...
如何使其自动检查任何新数据库并包含在备份计划列表中?
换句话说,如何自动备份所有mysql数据库(这样我们就不必担心每天创建新数据库).
有什么方法可以实现吗?
我正在使用Windows 2008服务器,它不友好.
gah*_*ooa 31
到目前为止发布的三个答案的问题是它们无法使您有选择地还原数据库.除了灾难之外,这可能是一个真正的问题.
理想情况下,您应该每天备份一些历史记录.它应该是bulletproof(--force),它应该是logged(>> ...log),它应该是compressed(| gzip),它应该保留每个数据库的单独副本,并且它应该自动获取任何添加的数据库.
考虑一下这样的shell脚本:
#!/bin/bash
Host=server.domain.com
BDir=/home/backup/backup/mysql
Dump="/usr/bin/mysqldump --skip-extended-insert --force"
MySQL=/usr/bin/mysql
Today=$(date "+%a")
# Get a list of all databases
Databases=$(echo "SHOW DATABASES" | $MySQL -h $Host)
for db in $Databases; do
date=`date`
file="$BDir/$Host-$db-$Today.sql.gz"
echo "Backing up '$db' from '$Host' on '$date' to: "
echo " $file"
$Dump -h $Host $db | gzip > $file
done
Run Code Online (Sandbox Code Playgroud)
假设您有一个文件~/.my.cnf(chmod 600),它具有:
[client]
user = "BACKUP"
password = "SOMEPASS8342783492"
Run Code Online (Sandbox Code Playgroud)
确保您使用的任何用户BACKUP都有此授权声明:
GRANT
SELECT, SHOW VIEW ON *.*
TO BACKUP@localhost
IDENTIFIED BY 'SOMEPASS8342783492';
Run Code Online (Sandbox Code Playgroud)
因此,只需将其添加到夜间cronjob中,您就可以每周7天轮换一次.
0 3 * * * backup-mysql >> backup-mysql.log 2>> backup-mysql.log
Run Code Online (Sandbox Code Playgroud)
然后备份目录包含:
-rw-r--r-- 1 backup backup 2217482184 Sep 3 13:35 base.appcove.net-VOS4_0-20090903.sql.gz
-rw-rw-r-- 1 backup backup 2505876287 Dec 25 00:48 base.appcove.net-VOS4_0-Fri.sql.gz
-rw-r--r-- 1 backup backup 2500384029 Dec 21 00:48 base.appcove.net-VOS4_0-Mon.sql.gz
-rw-r--r-- 1 backup backup 2506849331 Dec 26 00:48 base.appcove.net-VOS4_0-Sat.sql.gz
-rw-r--r-- 1 backup backup 2499859469 Dec 20 00:48 base.appcove.net-VOS4_0-Sun.sql.gz
-rw-rw-r-- 1 backup backup 2505046147 Dec 24 00:48 base.appcove.net-VOS4_0-Thu.sql.gz
-rw-rw-r-- 1 backup backup 2502277743 Dec 22 00:48 base.appcove.net-VOS4_0-Tue.sql.gz
-rw-r--r-- 1 backup backup 2504169910 Dec 23 00:48 base.appcove.net-VOS4_0-Wed.sql.gz
-rw-r--r-- 1 backup backup 76983829 Dec 25 00:49 base.appcove.net-VOS4_Mail_0-Fri.sql.gz
-rw-r--r-- 1 backup backup 76983829 Dec 21 00:49 base.appcove.net-VOS4_Mail_0-Mon.sql.gz
-rw-r--r-- 1 backup backup 76983829 Dec 26 00:49 base.appcove.net-VOS4_Mail_0-Sat.sql.gz
-rw-r--r-- 1 backup backup 76983829 Dec 20 00:48 base.appcove.net-VOS4_Mail_0-Sun.sql.gz
-rw-rw-r-- 1 backup backup 76983829 Dec 24 00:49 base.appcove.net-VOS4_Mail_0-Thu.sql.gz
-rw-rw-r-- 1 backup backup 76983829 Dec 22 00:49 base.appcove.net-VOS4_Mail_0-Tue.sql.gz
-rw-r--r-- 1 backup backup 76983829 Dec 23 00:49 base.appcove.net-VOS4_Mail_0-Wed.sql.gz
-rw-r--r-- 1 backup backup 304803726 Dec 25 00:49 base.appcove.net-WeSell_0-Fri.sql.gz
-rw-r--r-- 1 backup backup 303480087 Dec 21 00:49 base.appcove.net-WeSell_0-Mon.sql.gz
-rw-r--r-- 1 backup backup 304710121 Dec 26 00:49 base.appcove.net-WeSell_0-Sat.sql.gz
-rw-r--r-- 1 backup backup 303791294 Dec 20 00:49 base.appcove.net-WeSell_0-Sun.sql.gz
-rw-rw-r-- 1 backup backup 305315415 Dec 24 00:49 base.appcove.net-WeSell_0-Thu.sql.gz
-rw-rw-r-- 1 backup backup 302516217 Dec 22 00:49 base.appcove.net-WeSell_0-Tue.sql.gz
-rw-r--r-- 1 backup backup 303314217 Dec 23 00:49 base.appcove.net-WeSell_0-Wed.sql.gz
-rw-r--r-- 1 backup backup 135301 Dec 25 00:30 dc40.appcove.net-mysql-Fri.sql.gz
-rw-r--r-- 1 backup backup 135301 Dec 21 00:30 dc40.appcove.net-mysql-Mon.sql.gz
-rw-r--r-- 1 backup backup 135301 Dec 26 00:30 dc40.appcove.net-mysql-Sat.sql.gz
-rw-r--r-- 1 backup backup 135301 Dec 20 00:30 dc40.appcove.net-mysql-Sun.sql.gz
-rw-rw-r-- 1 backup backup 135301 Dec 24 00:30 dc40.appcove.net-mysql-Thu.sql.gz
-rw-rw-r-- 1 backup backup 135301 Dec 22 00:30 dc40.appcove.net-mysql-Tue.sql.gz
-rw-r--r-- 1 backup backup 135301 Dec 23 00:30 dc40.appcove.net-mysql-Wed.sql.gz
Run Code Online (Sandbox Code Playgroud)
Sam*_*son 18
使用MySQL Administrator,您需要手动将数据库添加到备份中.
如果通过dump-command处理此问题,则可以使用该--all-databases选项将所有数据库包含到转储中.
Dan*_*erz 13
mysqldump -u <username> -p<password> --all-databases > database_backup.sql
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28915 次 |
| 最近记录: |