#备份
mysqldump -P{端口} -u{账号} -p{密码} {数据库名} | gzip > /usr/local/bak/{数据库名}.sql.gz

#复制到目标机并解压
gzip -d {备份文件}
gunzip {备份文件}

#登录数据库
mysql -u {帐号} -p{密码}
#切换数据库
use {数据库名}
#执行还原
source {解压后的备份文件};

一个备份的脚本:

#! /bin/bash 
dbNames=(hr fi)
# 每次的备份数据以日期创建文件夹存放,同时删除过期备份
# 此处以保留1个月的备份数据为例
DATE=`date -d "now" +%Y%m%d%H%M%S`
savedir=/usr/local/backup
# 对备份数据库列表的所有数据库备份
for dbName in ${dbNames[*]}
do
  dumpFile=$dbName-$DATE.sql.gz
  mysqldump -P3306 -uroot -p123456 $dbName | gzip > $savedir/$dumpFile
done