--完全
rman target /
restore database;
recover database;
alter database open;
--不完全
rman target /
restore database until scn 578046;
recover database until scn 578046;
alter database open resetlogs;
mysql -u root -p test < bkup11.dmp
cd /var/lib/mysql
mysqlbinlog --start-position=120 --stop-datetime='2021-12-21 10:00:00' \
mysql-bin-log.000025 \
mysql-bin-log.000026 \
mysql-bin-log.000027 > /tmp/recovery.sql
mysql -u root -p < /tmp/recovery.sql
SHOW MASTER STATUS;
https://dev.mysql.com/doc/refman/5.6/ja/point-in-time-recovery.html
※flush-logsオプションでバックアップ前にバイナリログをフラッシュしている。
そのため、その後に生成されたバイナリログを適用してロールフォワードする。
リストア時のDDLもバイナリログに含まれているため、適用範囲に注意する
-------------------------------------------------
--MySQL Enterprise Backupによるリストア(8.0)
mysqladmin --user=root --password shutdown
rm -rf /var/lib/mysql
mysqlbackup --defaults-file=/etc/my.cnf \
--backup-dir=/tmp/backups \
--datadir=/var/lib/mysql \
copy-back
--(5.7)の場合は下記
--/opt/mysql/meb-4.1/bin/mysqlbackup --defaults-file=/etc/my.cnf \
-- --backup-dir=/tmp/backups \
-- --datadir=/var/lib/mysql \
-- copy-back
chown -R mysql:mysql /var/lib/mysql
-------------------------------------------------
--プレーンテキスト形式
psql postgres < bkup11.txt
--カスタムアーカイブ形式
pg_restore --clean --create -d postgres < bkup12.dmp
--DBクラスタ
psql postgres < bkup13.txt
--PITRリカバリ
--1.ベースバックアップ取得
psql -c "SELECT pg_start_backup(now()::text)"
cd /var/lib/pgsql/9.4
cp -a data backups/
psql -c "select pg_stop_backup()"
※取得したバックアップからpidファイルは削除しておく
rm -i postmaster.pid
--2.WALの待避
cd /var/lib/pgsql/9.4
cp -a data/pg_xlog/* wal_backups/
--3.PostgreSQLの停止
systemctl stop postgresql-9.4
--4.ベースバックアップの戻し
cd /var/lib/pgsql/9.4
rm -rf data
cp -a backups/data .
--5.recovery.confの作成
cd /var/lib/pgsql/9.4/data
vim recovery.conf
restore_command = 'cp /var/lib/pgsql/9.4/arc/%f "%p"'
recovery_target_time = '2034-12-21 10:00:00'
--6.WALの戻し
cd /var/lib/pgsql/9.4/data/pg_xlog
rm -rf *
cp -a ../../wal_backups/* .
--7.PostgreSQLの起動
systemctl start postgresql-9.4
--WALの中身確認
(10)
/usr/pgsql-10/bin/pg_waldump ${PGDATA}/pg_wal/00000001000000030000000C
--ログ末尾のバックアップ
use master
go
BACKUP LOG test
TO DISK = 'E:\backup\bk04.bak'
WITH FORMAT,
MEDIANAME = 'bk04',
NAME = 'Tail-Log Backup of test',
norecovery;
--完全バックアップの時点にリカバリする場合
use master
go
restore database test
from DISK = 'E:\backup\bk01.bak'
with recovery;
--最新の状態にリカバリする場合
use master
go
restore database test
from DISK = 'E:\backup\bk01.bak'
with norecovery;
restore database test
from DISK = 'E:\backup\bk02.bak'
with norecovery;
restore log test
from DISK = 'E:\backup\bk03.bak'
with norecovery;
restore log test
from DISK = 'E:\backup\bk04.bak'
with recovery;