mysql,sqlsever,oracle,redis,mongo,postgres等Database Backup及恢複指令整理,sqlseverredis
下列僅整理給出各個Database Backup及恢複最簡單的用法,更多詳細的參數及配置請查閱相關資料
一、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
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。