1墙基、重要參數(shù)說明
log_bin? ? //? ? 0,1二進制日志的開關(guān)
log_bin_basename? ? //? ? 二進制日志的存放路徑及文件頭名
server_id? ? //? ? 主機唯一識別號哮兰,多實例或主從環(huán)境必加冻记,單機可免
bin_log_format? ? //? ? 二進制日志格式? ? statment, row, mixed? ?三種
sync_binlog? ? //? ? 二進制日志的刷新方式,也是mysql重要的雙一標(biāo)準(zhǔn)之一
? ? ? ? ? ? ? ? ? ? ? ? ? ? 0 表示mysql不控制二進制日志刷新腾仅,由系統(tǒng)控制肴裙,定時刷新
? ? ? ? ? ? ? ? ? ? ? ? ? ? 1 表示當(dāng)mysql commit事件時痰催,二進制日志同步寫入硬盤
? ? ? ? ? ? ? ? ? ? ? ? ? ? 1 最安全,不容易丟數(shù)據(jù)己英,為默認(rèn)值
2间螟、啟用二進制日志的流程
1、修改配置文件
vim /etc/my.cnf
log_bin=/data/binlog/mysql-bin? ?
// 5.7版本中损肛,log_bin和log_bin_basename可以合并為一個厢破,其他默認(rèn)即可
2、創(chuàng)建binlog文件夾
mkdir -p /data/binlog
3治拿、授權(quán)
chown -R mysql.mysql /data
4摩泪、重啟mysql
3、查看二進制日志
1劫谅、在mysql內(nèi)用show命令查看日志中的事物
mysql> show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count];
選項解析:
? IN 'log_name' 指定要查詢的binlog文件名(不指定就是第一個binlog文件)
? FROM pos 指定從哪個pos起始點開始查起(不指定就是從整個文件首個pos點開始算)
? LIMIT [offset,] 偏移量(不指定就是0)
? row_count 查詢總條數(shù)(不指定就是所有行)
使用案例:
A.查詢第一個(最早)的binlog日志:
? mysql> show binlog events\G;?
B.指定查詢 mysql-bin.000021 這個文件:
? mysql> show binlog events in 'mysql-bin.000021'\G;
C.指定查詢 mysql-bin.000021 這個文件见坑,從pos點:8224開始查起:
? mysql> show binlog events in 'mysql-bin.000021' from 8224\G;
D.指定查詢 mysql-bin.000021 這個文件,從pos點:8224開始查起捏检,查詢10條
? mysql> show binlog events in 'mysql-bin.000021' from 8224 limit 10\G;
E.指定查詢 mysql-bin.000021 這個文件鳄梅,從pos點:8224開始查起,偏移2行未檩,查詢10條
? mysql> show binlog events in 'mysql-bin.000021' from 8224 limit 2,10\G;
2戴尸、在linux中用mysqlbinlog查看二進制內(nèi)容
mysqlbinlog [文件全路徑/文件名]
使用案例
mysqlbinlog /data/binlog/mysql-bin.000001
4、清理日志
flow logs? ? //? ? 滾動日志冤狡,滾動后會產(chǎn)生新的二進制日志孙蒙,該命令對錯誤日志也有效项棠,將錯誤
? ? ? ? ? ? ? ? ? ? ? ? 日志改名后,滾動會產(chǎn)生新的錯誤日志
reset master? ? //? ? 刪除所有二進制日志挎峦,并重新產(chǎn)生新的二進制日志
5香追、GTID
(1) 配置gtid
vim /etc/my.cnf
gtid_mode=on
enforce_gtid_consistency=true
(2) 檢查
show variables like '%gtid%';
6、? ? 恢復(fù)數(shù)據(jù)
(1)截取需要恢復(fù)的日志段坦胶,將其寫入一個sql文件中?
? ? ? ? mysqlbinlog --start-position=起點? ? ?--stop-position=終點? ?/路徑/文件名? >/路徑/文件名.sql
(2)進入數(shù)據(jù)庫透典,臨時關(guān)閉二級制日志??
? ? ? ? ?set sql_log_bin=0
(3)source該文件