下列仅整理给出各个数据库备份及恢复最简单的用法,更多详细的参数及配置请查阅相关资料
一、mysql:
参数说明:
$user $password $targethost $port $charset $dbname $table $filename
用户名 密码 ip(本地为localhost) 端口 编码 数据库名 表名(仅表级备份需要) 文件名
备份:mysqldump --single-transaction -l -u $user -p'$password' -h $targethost -p $port --default-character-set=$charset $dbname $table > $filename
恢复:mysql $dbname -u $user -p'$password' -h $targethost -p $port --default-character-set=$charset
二、sqlserver:
说明:sqlserver2003及以下仅支持osql,sqlserver2005及以上同时支持osql及sqlcmd,以下方法对sqlcmd及osql均通用。
参数说明:
$user $passwrod $instance $dbname $filename $diff_filename
用户名 密码 实例名 数据库名 全量备份文件名 增量备份文件名
全量备份:osql -u $user -p $password -d master -s $instance -q alter database $dbname set offline with rollback immediate; restore database $dbname from disk='$filename' with replace; alter database $dbname set online
增量备份:osql -u $user -p $password -d master -s $instance -q alter database $dbname set offline with rollback immediate; restore database $dbname from disk='$filename' with replace,norecovery; restore database $dbname from disk='$diff_filename' with recovery; alter database $dbname set online
全量恢复:osql -u $user -p $password -d master -s $instance -q alter database $dbname set offline with rollback immediate; restore database $dbname from disk='$filename' with replace; alter database $dbname set online
增量恢复:osql -u $user -p $password -d master -s $instance -q alter database $dbname set offline with rollback immediate; restore database $dbname from disk='$filename' with replace,norecovery; restore database $dbname from dist='$diff_filename' with recovery; alter database $dbname set online
三、oracle:
oracle的备份及恢复主要使用rman,感兴趣的可以详细去了解rman的具体使用
四、redis:
说明:redis的数据备份文件存储在配置文件中的dir+dbfilename组成的全路径文件名中;
备份:redis-cli -h targethost -p $port -a $password save
恢复:只需要将备份的文件放置原目录,重启redis即可。
五、mongo:
参数说明:
$targethost $port $dbname $backup_dir $user $password $table $recovery_dir
ip地址 端口 数据库名 保存路径 用户名 密码 表名(表级恢复) 恢复路径
备份:mongodump --host $targethost:$port -d $dbname -o $backup_dir -u $user -p $password
恢复:mongorestore --host $targethost:$port -d $dbname -u $user -p$password -c $table $recovery_dir
六、postgres:
$targethost $port $user $dbname $filename $recovery_file
ip地址 端 口 用户名 数据库名 备份文件 恢复文件
备份:pg_dump -c -b -h $targethost -p $port -u $user $dbname > $filename
恢复:psql -h $targethost -p $port -u $user -d $dbname -f $recovery_file
