1.备份所有数据库到一个文件
mysqldump -uroot -ppassword -S /var/lib/mysql/mysql.sock -A -B |gzip >/backup/all_$(date +%F).sql.gz

2.备份一个数据库:
mysqldump -uroot -ppassword -S /var/lib/mysql/mysql.sock -B mydatabase | gzip > /backup/mydatabase_$(date +%F).sql.gz

3.多个数据库备份到一个文件:
mysqldump -uroot -ppassword -S /var/lib/mysql/mysql.sock -B mydatabase1 mydatabase2 mydatabases3 | gzip > /backup/mydatabase_1_2_3_$(date +%F).sql.gz

4.多个数据库分开备份:

#!/bin/bash
#This script is to backup mysql DBs seperately (each DB with a backup file ) 
#By too2.net

User=root
Pass=mypassword
BackupDB="mydatabase1 mydatabase2 mydatabase3"
Sock=/var/lib/mysql/mysql.sock
BackupDir=/backup
Cmd="mysqldump -u$User -p$Pass -S $Sock"
         
for db in $BackupDB 
do
    $Cmd $db | gzip > /$BackupDir/${db}_$(date +%F).sql.gz
done 

5.分开备份系统里所有mysql数据库(除去系统自带的mysql、schema这两个库)

#!/bin/bash
#This script is to backup  all mysql DBs (except the build in DB: mysql & schema) seperately (each DB with a backup file )
#By too2.net

User=root
Pass=mypassword
Sock=/var/lib/mysql/mysql.sock
BackupDir=/backup
MysqlCmd="mysql -u$User -p$Pass -S $Sock"
Cmd="mysqldump -u$User -p$Pass -S $Sock

for db in `$MysqlCmd -e "show databases;" | sed '1,2d' |egrep -v "^mysql$|^schema$"`
do        
    $Cmd $db | gzip > /$BackupDir/${db}_$(date +%F).sql.gz
done 


5.按数据库建系统目录,并按表备份到各目录里

#!/bin/bash#This script is to backup  all mysql tables seperately .
#By too2.net

User=root
Pass=mypassword
Sock=/var/lib/mysql/mysql.sock
BackupDir=/backup
MysqlCmd="mysql -u$User -p$Pass -S $Sock"
Cmd="mysqldump -u$User -p$Pass -S $Sock

for db in `$MysqlCmd -e "show databases;" | sed '1,2d' |egrep -v "^mysql$|^schema$"`             
do
    mkdir -p $BackupDir/${db}
    for tb in `$MysqlCmd -e "show tables from $db;" | sed '1d'`
    do
        $Cmd $db $tb| gzip > /$BackupDir/${db}/${db}_${tb}_$(date +%F).sql.gz
    done
done

有任何疑问请点击留言: 留言板
本文发布于http://wiki.too2.net,转载请联系本人。