資料庫⽇志管理

hhhaaa12138發表於2024-08-18

MySQL日誌管理

排錯

error log 錯誤⽇志

記錄mysql啟停錯誤資訊

general log 普通⽇志

記錄客戶端查詢⽇志

image-20240817154100233

終端查詢⽇志情況

image-20240817154224771

慢查詢⽇志

image-20240817164242189

image-20240817162234423

⼆進位制⽇志

⼆進位制⽇志 binary log 記錄資料被修改的相關資訊

image-20240817164620583

# at 219 :表示該查詢在⼆進位制⽇志⽂件中的位置

\#230527 12:09:02 :表示該查詢執⾏的時間,⽇期格式為YYMMDD HH:MM:SS

server id 70 :表示MySQL伺服器的ID

end_log_pos 306 :表示該查詢在⼆進位制⽇志⽂件中的結束位置

CRC32 0xc85c6c41 :表示該查詢的CRC32校驗和

Query :表示該⽇志記錄是⼀個查詢

vx: WingspanGovx: WingspanGo

thread_id=2 :表示執⾏該查詢的執行緒ID

exec_time=0 :表示該查詢的執⾏時間為0毫秒

error_code=0 :表示該查詢沒有出錯

use wing /*!*/; :表示該查詢使⽤了 wing`資料庫。

SET TIMESTAMP=1685160542/*!*/; :設定查詢的時間戳。

SET @@session.pseudo_thread_id=2/*!*/; :設定當前會話的虛擬執行緒ID。

SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0,

@@session.unique_checks=1, @@session.autocommit=1/*!*/; :設定當前會話的⼀些引數,如外來鍵檢

查、⾃動提交等。

SET @@session.sql_mode=1436549152/*!*/; :設定當前會話的SQL模式。

SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/; :設

置當前會話的⾃增計數器起始值和步⻓。

/*!\C utf8 *//*!*/; :設定當前會話的字符集為UTF-8。

SET

@@session.character_set_client=33,@@session.collation_connection=33,@@session.collatio

n_server=8/*!*/; :設定當前會話的字符集和排序規則。

SET @@session.lc_time_names=0/*!*/; :設定當前會話的時間格式。

SET @@session.collation_database=DEFAULT/*!*/; :設定當前會話的資料庫排序規則。

TRUNCATE TABLE users/*!*/; :表示執⾏了⼀個 TRUNCATE TABLE 查詢,將 users 表清空。

⽇志截斷

1.切割binlog⽇志
重啟 mysqld 服務, 在 mysql 控制檯執⾏ mysql> flush logs
在 mysql 控制檯執⾏ reset master 會清空所有 binlog (危險)

2.刪除部分binlog⽇志
mysql> purge master logs to 'sql_106_70.000001'; #刪除指定⽇志以前的⽇志⽂件
mysql> purge binary logs before '2023-05-27 12:44:00'; #刪除指定時間以前的⽇志⽂件
使⽤時間節點進⾏恢復

# mysqlbinlog sql_106_70.000006 --start-datetime='2023-05-28 15:41:00'

# mysqlbinlog sql_106_70.000005 --stop-datetime='2023-05-28 15:40:00'

# mysqlbinlog sql_106_70.000005 --start-datetime='2023-05-28 12:00:00' --stop

datetime='2023-05-28 15:40:00'

使⽤位置點進⾏恢復

# mysqlbinlog sql_106_70.000006 --start-position=219

# mysqlbinlog sql_106_70.000006 --stop-position=503

# mysqlbinlog sql_106_70.000006 --start-position=219 --stop-position=503

2.MySQL****物理備份與恢復

相關文章