网站建设知识
mysql,sqlsever,oracle,redis,mongo,postgres等数据库备份及恢复指令整理
2025-07-22 09:54  点击:0

下列仅整理给出各个数据库备份及恢复最简单的用法,更多详细的参数及配置请查阅相关资料

一、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 < $filename

二、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