mysql binlog 备份_MySQL的binlog知识梳理
生活随笔
收集整理的這篇文章主要介紹了
mysql binlog 备份_MySQL的binlog知识梳理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、binlog概念:
binlog是一個二進制格式的文件,用于記錄“修改數據或可能引起數據變更”的SQL語句(查詢的SQL不會記錄)。
2、binlog功能:
(1)恢復: 利用binlog日志恢復數據庫數據。(2)復制: 主從架構通過binlog同步數據。(3)審計: 可以用binlog中的信息進行審計,判斷是否有對數據庫進行注入攻擊。3、binlog的記錄格式:
(1)statement: 基于"語句"記錄,記錄的是修改SQL語句。(2)row: 基于"行"記錄,記錄的是每行實際數據的變更。(3)mixed: statement和row模式的混合。4、binlog的配置參數
(1)開關配置: sql_log_bin=1|0 用于控制會話級別二進制日志功能的開啟與關閉 mysql> SET SQL_LOG_BIN=0; mysql> SOURCE somefile.sql; mysql> SET SQL_LOG_BIN=1;(2)文件路徑: log_bin=/data/mysql3306/data/mysql-bin(3)記錄格式: binlog_format=MIXED(4)過期時間: expire_logs_days=0 日志過期后會被自動清理(5)同步磁盤: sync_binlog=1|0: 事務提交時, 是否將事件從內存刷新至磁盤, 安全期間應該開啟保證數據安全, 開啟后會略微造成性能下降(至關重要)(6)cache相關: binlog_cache_size=xx binlog_stmt_cache_size=xx max_binlog_size=xx max_binlog_cache_size=xx max_binlog_stmt_cache_size=xx5、binlog文件的管理:
二進制日志文件的構成:
索引文件: mysql-bin.index
日志文件: mysql-bin.000xxx
(1)查看二進制日志文件列表 mysql> SHOW MASTER LOGS; mysql> SHOW BINARY LOGS;(2)查看正在使用中的二進制文件 mysql> SHOW MASTER STATUS; (3)查看二進制文件內容: 方式一: mysql> SHOW BINLOG EVENTS IN 'mysql-bin.000001' LIMIT 5; mysql> SHOW BINLOG EVENTS IN 'mysql-bin.000001' FROM 208 LIMIT 5, 10; 方式二: # mysqlbinlog --start-position='100' --stop-position='1000' ./mysql-bin.000001 # mysqlbinlog --start-datetime='2020-04-24 00:00:00' --stop-datetime='2020-04-24 17:00:00' ./mysql-bin.000001 查看mysqlbinlog使用幫助 # mysqlbinlog --help(4)日志滾動: ? mysql> FLUSH LOGS; 避免日志文件太大,可生成新binlog文件(5)清除二進制日志: 注意:只有做過備份的binlog才可以清除, 不可以手動直接刪除文件。 mysql> PURGE BINARY LOGS BEFORE '2019-01-20 21:10:24'; mysql> PURGE BINARY LOGS TO 'mysql-bin.000xxx'; 說明: 刪除mysql-bin.000xxx之前的文件 示例: 先做備份!!! # mkdir /data/backup/binlog/ # cp mysql-bin.00000[0-9] /data/backup/binlog/ # sync mysql> PURGE BINARY LOGS TO 'mysql-bin.000009' 另外,清除所有binlog(慎用) mysql> reset master;查看binlog
總結
以上是生活随笔為你收集整理的mysql binlog 备份_MySQL的binlog知识梳理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: string最大容量_string初步使
- 下一篇: 更多网络类型