下列僅整理給出各個數據庫備份及恢復最簡單的用法,更多詳細的參數及配置請查閱相關資料
一、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