MySQL日誌管理
1:開啓binlog日誌
2:讀取binlog 日誌
3:利用binlog 日誌恢復數據。
一 產生binlog日誌
#vim /etc/my.cnf
log-bin=/var/lib/mysql-bin/slave2
server-id=2 //mysql5.7版本以上要寫
# mkdir /var/lib/mysql-bin
# chown mysql.mysql /var/lib/mysql-bin/
# systemctl restart mysqld
注:
- 重啓mysqld 會截斷舊日誌產生新的日誌
- 刷新日誌會截斷舊日誌產生新的日誌
mysql> flush logs #mysqladmin flush-logs -u root -p123 #mysql -u root -p123 -e "flush logs"
- 刪除所有binlog(禁用)
mysql> reset master - 刪除部分日誌
mysql> PURGE BINARY LOGS TO 'mysql-bin.010';
mysql> PURGE BINARY LOGS BEFORE '2016-04-02 22:46:26'; - 暫停binlog日誌功能(僅對當前會話生效)
mysql> SET SQL_LOG_BIN=0;
mysql> SET SQL_LOG_BIN=1;
二 讀取binlog日誌:# mysqlbinlog mysql.000002
三 按datetime 讀取 :
# mysqlbinlog mysql.000002 --start-datetime="2018-12-05 10:02:56" # mysqlbinlog mysql.000002 --stop-datetime="2018-12-05 11:02:54" # mysqlbinlog mysql.000002 --start-datetime="2018-12-05 10:02:56" --stop-datetime="2018-12-05 11:02:54"
四 按position讀取:
# mysqlbinlog mysql.000002 --start-position=260 # mysqlbinlog mysql.000002 --stop-position=260 # mysqlbinlog mysql.000002 --start-position=260 --stop-position=930 |mysql -u root -p123