欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql psc還原

林國瑞1年前11瀏覽0評論

MySQL 是一個常用的關系型數據庫管理系統,支持多種操作系統,也是世界上最流行的開源數據庫之一。在數據庫管理中,數據丟失是一個非常嚴重的問題。幸運的是,MySQL 提供了一種稱為 Point-in-Time Recovery (PITR) 的技術來進行數據丟失的還原。

在 MySQL 中,PITR 可以通過參數設置和日志文件恢復來實現。其中最重要的參數是 binlog_format,它規定了 MySQL 服務器在將更新寫入二進制日志(binary log)時所使用的格式。PITR 還需要事務日志,因此我們需要啟用查詢日志和事務日志。

[mysqld]
log-bin=mysql-bin
binlog-format=row
log-slave-updates
max-binlog-size=100M
expire-logs-days=90

上面的配置將啟用二進制日志,使用行格式記錄事務信息,并設置了最大二進制日志大小和日志過期時間。查詢日志和事務日志的啟用可以在 mysql 運行時動態開啟:

mysql>SET GLOBAL general_log = 'ON';
mysql>SET GLOBAL innodb_status_output=1;

通過使用這些參數,我們可以將 MySQL 數據庫還原到一個更早的點。首先,我們需要找到最后一個完整的備份和日志文件。然后,我們執行以下操作來進行數據庫還原:

mysqlbinlog --start-datetime='2018-01-01 00:00:00' --stop-datetime='2018-01-02 00:00:00' mysql-bin.000001 | mysql -u root -p new_database

上述命令將在時間段內解碼日志文件并將其重定向到新的數據庫。如果需要恢復到一個特定的事務,則可以使用以下命令:

mysqlbinlog mysql-bin.000001 | grep '### begin transaction' -B 1 | awk '{print $4}' | head -n 1 | xargs -I "F" mysqlbinlog --start-position=F mysql-bin.000001 | mysql -u root -p new_database

以上命令將在時間點前查找基礎事務,并根據該事務的位置應用所有日志條目。

上一篇mysql purage
下一篇mysql putty