易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 1390|回复: 4
收起左侧

MySQL/mariadb误删ibdata1 ib_logfile0,ib_logfile1 恢复方法

[复制链接]
发表于 2021-12-15 01:00:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
MySQL误删ibdata1 ib_logfile0,ib_logfile1 恢复方法:
3 O8 H( p2 U- h& R9 K. _
0 }5 L: V, E7 r. J+ v1 u$ z恢复的步骤和数据库版本没有太大关系。) u. {" R  C- ]- ^! }
在linux操作系统中,如果文件从操作系统级别别rm掉,之前打开的文件进程仍持有相应的文件句柄,
, _9 H% e8 A- d; z- M0 N所指向的文件仍然可以读写,且该文件的描述符可以从/proc目录中获得(不关闭MySQLd情况下).
6 M4 F! q+ X0 ]( x/ E
4 ]9 X: Z' a6 `: `) e+ Y4 x在删除3个文件后,MySQLd 仍是可以运行,对外服务的,MySQL一只保持InnoDB文件打开,因此,; p. m1 W) j! s! P9 n8 e
在工作中有必要监控文件是否存在。
% Z' |6 A: S; r* o  i3 |9 D发现文件被删除之后,不能重启InnoDB,因为启动InnoDB,检测到ibdata1,ib_logfile0,ib_logfile1
* L4 v" i/ z$ y( F  |. G* L! ?不存在,所以,将创建对应的空文件,InnoDB数据字典是空的,InnoDB无法使用原先存在的ibd文件,故,* l$ _. a9 N- {. @4 a2 U) p2 k
MySQL不重启,快速恢复删除的文件是可能的。  n) j* U+ p4 K9 T  a0 y; R1 a
9 r1 b* g7 z7 m' O/ h3 Z" [" u
在MySQLd运行过程中,ibdata1,ib_logfile0,ib_logfile1一直运行在. j9 v, M* q/ m  g
/proc/mysql.pid/fd目录下,其中vm-mysql.pid是mysql进程的PID,获取方法:
6 o8 I- i6 U) f. F[root@mysql ~]# ls -l /proc/$(cat /opt/mysql/data2/mysql.pid)/fd | grep -e ibdata -e ib_+ A( G7 z. {- w* S
lrwx------ 1 root root 64 Oct 16 14:16 10 -> /opt/mysql/data2/ib_logfile1 (deleted)
/ ~2 m3 D: w6 F. `% L, \+ }6 ?lrwx------ 1 root root 64 Oct 16 14:16 4 -> /opt/mysql/data2/ibdata1 (deleted)
4 i, R% g8 d# olrwx------ 1 root root 64 Oct 16 14:16 9 -> /opt/mysql/data2/ib_logfile0 (deleted)$ J& k, M' A. \' j
1 \( A- U/ k: q  D. W1 }( R
但是,我们不能简单copy回源目录中,因在buffer pool有已经修改的页,这些页没有被写入磁盘,如果改变的页
+ q+ P: s6 t8 E  C" k6 Z" ~没有永久写入,数据将会丢失,这些导致数据损坏和丢失。
& o( g2 c' D6 ?" m同样原因,我们不能做MySQL备份,仅能coping那些文件。9 O9 [& G8 J( T3 {
因此,我们必须确保所有的修改全写入磁盘中。
1 F; `/ [. E+ h; C$ ?* f我们现在能做的阻止写,且等待InnoDB刷新所有的页。4 E7 T4 x0 K  C/ R! }* B
1.为了阻止写,我们要么停止应用程序或锁表。' a! c9 p, p+ R. G# N
MariaDB [(none)]> flush tables with read lock;
  x( C" }  x7 @7 |3 |' `Query OK, 0 rows affected (0.01 sec)
3 p& ~. Q. Z* S5 V/ }
3 O9 r; N0 R: Z: ]& ?2. show engine innodb status 中脏页刷新到磁盘,% Z* h5 f5 @6 X2 t; G$ s& P/ }
---
% c/ i2 B8 P) |! C4 ~LOG
* c' I( L: z  Z6 S: y---
0 e# z+ Z8 S" u' y; M* sLog sequence number 0 50355: X6 `- w1 Z% H! S: E- o
Log flushed up to   0 50355; j5 G8 j# w' c# n! s/ U* w2 Q" v
Last checkpoint at  0 50355
; [- c6 s3 e. D; _0 pending log writes, 0 pending chkp writes
! h9 R; k2 ~( ~5 j2 o39 log i/o's done, 0.00 log i/o's/second
( ]) _1 T, o+ x6 I' u( S! [, N
加速脏页刷新,设置dirty pages percentage to zero:
: K6 |, F5 V1 q+ e3 _9 hMariaDB [(none)]> set global innodb_max_dirty_pages_pct=0;  J& K+ R0 {! A+ R1 m3 f$ L0 s0 Y
Query OK, 0 rows affected (0.00 sec)
. ]$ a3 T+ D9 D& l! m# q- T2 W3 M9 ]: ~
3.确保所有后台进程已经完成自己的工作,也是重要的。
0 c3 {& R9 Q$ `注意,插入缓冲线程,它的大小等于1' r9 o4 P  W( z' p  [
-------------------------------------
% V) @: a  [/ M! h$ g6 _INSERT BUFFER AND ADAPTIVE HASH INDEX3 \/ n- F4 B. ^2 x1 S+ z( F7 C
-------------------------------------
% G# ?* |! ?& \8 YIbuf: size 1, free list len 0, seg size 2,% I0 e1 w# w- ~4 y5 E5 C- U
0 inserts, 0 merged recs, 0 merges
& E9 `7 j% ]$ L# x  ?, L+ _Hash table size 34679, node heap has 1 buffer(s)7 J; ^. T8 g0 v, Y, f+ \. V
0.00 hash searches/s, 0.00 non-hash searches/s1 D( G: N6 m0 A3 e% A

7 q* F2 P4 q6 ?! o" S+ z( u- W) w& Z4.后台写进程purge thread,清除所有事务。
$ H, i8 q& A2 P  O$ s* y3 e------------* A1 `" z9 K+ Q: s2 [! j) P5 r+ @4 G
TRANSACTIONS! b% X3 N' ~9 W2 K* f: Z3 B0 v
------------
% j8 H0 |7 o) O; {" E# ^; i/ uTrx id counter 0 784
( Q6 l( q! v4 [/ p- tPurge done for trx's n:o < 0 0 undo n:o < 0 0
. ?' H; b2 }' P' a但是,如果上次事务没有需要清理操作Trx id计数比较大(如,SELECT),
; D4 c3 ^9 x: r在这种情况下,至少要保证InnoDB不再做任何写动作。
& H, ?; W# d: b7 [, l6 x--------% Q; G2 q5 F, K
FILE I/O
; a5 m- _8 r- [4 e3 A" k% o& f/ M--------" [& Y, Q4 h2 o% i+ ]' b
I/O thread 0 state: waiting for i/o request (insert buffer thread)
2 X+ j0 x) P. a$ x! \- bI/O thread 1 state: waiting for i/o request (log thread); H" r6 n3 ?# S0 m9 t7 }0 z
I/O thread 2 state: waiting for i/o request (read thread)7 E* H/ t$ z  R( a. N% b; R
I/O thread 3 state: waiting for i/o request (write thread)
" M; h3 L' R# |. QPending normal aio reads: 0, aio writes: 0,0 K: s! P0 d/ i5 O3 E. ^
ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0* L4 J! B: Z6 {2 h" |
Pending flushes (fsync) log: 0; buffer pool: 0
& C6 j) x- B) ~0 ~0 OS file reads, 81 OS file writes, 59 OS fsyncs
  U6 ]  L  y) n0 X! r& S2 [0.00 reads/s, 0 avg bytes/read, 0.00 writes/s, 0.00 fsyncs/s
1 w- W* k7 q) z7 Y$ |3 `, K8 d* _8 x3 W( n7 c1 k8 ]  i; t
经历了4步,所有被修改脏页刷新到磁盘,现在开始copy InnoDB 文件到源目录:* Q; z2 @! M( H, f! @& n& R
[root@mysql ~]# cp /proc/$(cat /opt/mysql/data2/mysql.pid)/fd/4 /opt/mysql/data2/ibdata1- ~5 U* l" J+ G* `9 i; t
[root@mysql ~]# cp /proc/$(cat /opt/mysql/data2/mysql.pid)/fd/9 /opt/mysql/data2/ib_logfile0
2 {5 r( N' u1 J+ U  m  {$ v[root@mysql ~]# cp /proc/$(cat /opt/mysql/data2/mysql.pid)/fd/10 /opt/mysql/data2/ib_logfile1
/ L4 e! I5 X- P' @/ |& s% }
. L1 S7 G7 L$ v; ]0 i  w! Q5.修改ib*所属用户6 `. {4 p8 e/ ?/ ?! n
chown -R mysql ib*
  A3 }& X; X3 o2 K; i) m: K% u' g
6.重启MySQLd
: ?$ Q7 _4 {, v........
& @& h: \# p8 X; L5 c: X
# w0 _7 q% ~! d, u9 k$ i结论:
& \1 o( [2 Y5 u& P1.监控InnoDB文件 ibdata 和 ib_logfile* 是否存在
/ }* T& a% T0 q8 Z, S: G2.清楚恢复策略,否则不要重启MySQLd$ D5 B; Y0 y7 ?( |3 v
 楼主| 发表于 2021-12-15 01:00:04 | 显示全部楼层
于是再/ect/my.cnf中加入max_connections=1000    wait_timeout=5这两个配置
' f5 M9 t5 p1 P5 \& V
2 w5 H5 \$ L0 f7 C( x
5 J9 K& i5 u4 b1 H9 T& X, t2 D
. p! a0 x9 [% w重启mysql,启动成功,但是项目却无法打开,又重新打开mysql日志发现他一直无休止的重启,百度搜了好多办法都不行
/ U  A" {% G6 {1 W
. |' r; {, L. V后来看到这段配置
5 M# w5 w7 E! p2 U' ^- g
: @$ R  Z  i9 d1 w, ?8 J
" h/ o9 O) @. K4 b4 p( {9 K! U' G$ Y" \0 m5 ^
我想应该是因为文件问题导致ibdata1损坏了,然后从1 到6全部都试了一遍,效果却是然并卵  E" e5 b* k) q; f  B
% D1 t9 ?! Y8 Y5 F
到最后是这样配置的
# a, L# ^$ {3 Q. p
$ w2 y5 i/ U7 Lhttps://img-blog.csdn.net/20180511171205193?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dsX2FuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/705 k$ R9 A8 Z2 G/ N3 Q
) k0 O6 e+ f5 y4 r& N
然后重启mysql没有问题,然后打开项目发现还是访问不了,后来发现tomcat停了,重启tomcat,完美解决4 H2 f+ u* g2 y0 W. o8 P3 n$ ~8 l+ S4 [
 楼主| 发表于 2021-12-15 01:00:05 | 显示全部楼层
操作步骤:
  x; `6 R- r1 c- S1 h
                               
登录/注册后可看大图
! K9 K# e/ F' ]
企业微信截图_16394522573697.png
 楼主| 发表于 2021-12-15 01:00:06 | 显示全部楼层

概念:- v; @" o% F' o8 |' Z1 _1 M
事務日誌或稱redo日誌,在mysql中默認以ib_logfile0,ib_logfile1名稱存在,可以手工修改參數,調節開啟幾組日誌來服務於當前mysql數據庫,mysql采用順序,循環寫方式,每開啟一個事務時,會把一些相關信息記錄事務日誌中(記錄對數據文件數據修改的物理位置或叫做偏移量);
/ l' y3 Q* x8 y& j* ~這個系列文件個數由參數innodb_log_files_in_group控制,若設置為4,則命名為ib_logfile0~3。5 C: p. c! y# X% i$ L$ T
這些文件的寫入是順序、循環寫的,logfile0寫完從logfile1繼續,logfile3寫完則logfile0繼續。  R" ]  e2 ?6 a3 g) H% V
, X4 ?. \1 n4 {6 Q2 x' r% v
作用:
/ a& \8 X' y% n+ |4 F/ K8 G7 }5 v在系統崩潰重啟時,作事務重做;在系統正常時,每次checkpoint時間點,會將之前寫入事務應用到數據文件中。9 F2 ~0 X7 z4 H1 z
5 n6 {+ F) J8 O4 R8 }9 c
Ib_logfile的checkpoint field# ?% Y( [' h- B# v3 u! l
實際上不僅要記錄checkpoint做到哪兒(LOG_CHECKPOINT_LSN),還要記錄用到了哪個位置(LOG_CHECKPOINT_OFFSET)等其他信息。所以在ib_logfile0的頭部預留了空間,用於記錄這些信息。
1 Z3 j; S+ I, \) D4 Z因此即使使用後面的logfile,每次checkpoint完成後,ib_logfile0都是要更新的。同時你會發現所謂的順序寫盤,也並不是絕對的
3 j. ]* a: A1 F: N9 G9 A相關的一些數字+ j0 y) B3 n# \# i9 l  V" p, s% \
a) InnoDB留了兩個checkpoint filed,按照註釋的解釋,目的是為了能夠“write alternately”
4 H, Q) [& V- e% n' P$ N' jb) 每個checkpint field需要的大小空間為304字節。(相關定義在log0log.h)3 u+ `  J+ L4 Y- D3 B6 B
c) 第一個checkpoint的起始位置在ib_logfile0的第512字節(OS_FILE_LOG_BLOCK_SIZE)處;/ q8 c& ~$ z, F5 T! U0 n
d) 第二個在1536 (3 * OS_FILE_LOG_BLOCK_SIZE)字節處。' C' u' V" r  \+ u' Q$ m
2 W- g8 n# q8 @. O: k( R- p3 h
' v* F- y5 ]2 o$ b/ Q
特點:
& x  T5 \" b+ N; V% k  Eredo log只是記錄所有innodb表數據的變化。0 h9 u( H  h8 [- K- W" i/ ^
redo log只是記錄正在執行中的dml以及ddl語句。
3 }' _5 w0 ?2 |+ Q% _) c0 Aredo log可以作為異常down機或者介質故障後的數據恢復使用

引入一個問題:在m/s環境中,innodb寫完ib_logfile後,服務異常關閉,會不會主庫能用ib_logfile恢復數據,而binlog沒寫導致從庫同步時少了這個事務?從而導致主從不一致;redo日誌寫入方式:1.ib_logfile寫入當前事務更新數據,並標上事務準備trx_prepare2.寫入bin-log3.ib_logfile當前事務提交提交trx_commit恢復方式:如果ib_logfile已經寫入事務準備,那麽在恢復過程中,會依據bin-log中該事務是否存在恢復數據。假設:1)結束後異常,因沒有寫入bin-log,從庫不會同步這個事務,主庫上,重啟時,在恢復日誌中這個事務沒有commit,即rollback這個事務.2)結束後異常,這會bin-log已經寫入,從庫會同步這個事務。主庫依據恢復日誌和bin-log,也正常恢復此事務綜上描述:bin-log寫入完成,主從會正常完成事務;bin-log沒有寫入,主從庫rollback事務;不會出現主從庫不一致問題.
# G1 W/ |7 N9 g& {8 N相關參數(全局&靜態):innodb_log_buffer_sizeinnodb_log_file_sizeinnodb_log_files_in_groupinnodb_log_group_home_dirinnodb_flush_log_at_trx_commitinnodb_log_buffer_size:事務日誌緩存區,可設置1M~8M,默認8M,延遲事務日誌寫入磁盤,把事務日誌緩存區想象形如"漏鬥"狀,會不停向磁盤記錄緩存的日誌記錄,而何時寫入通過參數innodb_flush_log_at_trx_commit控制,稍後解釋,啟用大的事務日誌緩存,可以將完整運行大事務日誌,
8 _* m  q, @$ ]: l; a暫時存放在事務緩存區中,不必(事務提交前)寫入磁盤保存,同時也起到節約磁盤空間占用;innodb_log_file_size:控制事務日誌ib_logfile的大小,範圍5MB
~4G;所有事務日誌ib_logfile0+ib_logfile1+..累加大小不能超過4G,事務日誌大,checkpoint會少,節省磁盤IO,但是大的事務日誌意味著數據庫crash時,恢復起來較慢.引入問題:修改該參數大小,導致ib_logfile文件的大小和之前存在的文件大小不匹配解決方式:在幹凈關閉數據庫情況下,刪除ib_logfile,而後重啟數據庫,會自行創建該文件;innodb_log_files_in_group:DB中設置幾組事務日誌,默認是2;innodb_log_group_home_dir:事務日誌存放目錄,不設置,ib_logfile0...存在在數據文件目錄下innodb_flush_log_at_trx_commit:控制事務日誌何時寫盤和刷盤,安全遞增:0,2,1事務緩存區:log_buffer;0:每秒一次事務緩存區刷新到文件系統,同時文件系統到磁盤同步,但是事務提交時,不會觸發log_buffer到文件系統同步;2:每次事務提交時,會把事務緩存區日誌刷新到文件系統中去,且每秒文件系統到磁盤同步;1:每次事務提交時刷新到磁盤,最安全;適用環境:0:磁盤IO能力有限,安全方便較差,無復制或復制延遲可以接受,如日誌性業務,mysql損壞丟失1s事務數據;2:數據安全性有要求,可以丟失一點事務日誌,復制延遲也可以接受,OS損壞時才可能丟失數據;1:數據安全性要求非常高,且磁盤IO能力足夠支持業務,如充值消費,敏感業務;

; u2 n' F+ G  D6 F5 _8 K8 S0 U; t! l! ~

引入ib_logfile的寫入策略

1、基本概念
9 B% D( `2 H3 B# P$ f( O1 T9 Ia)、ib_logfile文件個數由innodb_log_files_in_group配置決定,若為2,則在datadir目錄下有兩個文件,命令從0開始,分別為ib_logfile0和ib_logfile.
( S" Q: `8 k" [2 wb)、文件為順序寫入,當達到最後一個文件末尾時,會從第一個文件開始順序復用。
/ `$ y: U5 N% ]7 c& Mc)、lsn: Log Sequence Number,是一個遞增的整數。 Ib_logfile中的每次寫入操作都包含至少1個log,每個log都帶有一個lsn。在內存page修復過程中,只有大於page_lsn的log才會被使用。; c1 f# L$ A1 A
d)、lsn的保存在全局變量log_sys中。遞增數值等於每個log的實際內容長度。即如果新增的一個log長度是len,則log_sys->lsn += len.
0 F, V# h: h) a7 S* D, d5 e& ge)、ib_logfile每次寫入以512(OS_FILE_LOG_BLOCK_SIZE)字節為單位。實際寫入函數 log_group_write_buf (log/log0log.c)
  O( q; ?, u+ k* df)、每次寫盤後是否flush,由參數innodb_flush_log_at_trx_commit控制。
+ @8 O- Y5 y9 k& @% V4 X1 \) v. r: {

% P- J# U' F' X; n2 x9 F6 a& F3 A# L2、log_sys介紹
* W) j  m4 v! l7 Wlog_sys是一個全局內存結構。以下說明幾個成員的意義。* b4 Y  F' K: y

lsn表示已經分配的最後一個lsn的值。
written_to_all_lsnn表示實際已經寫盤的lsn。需要這個值是因為並非每次生成log後就寫盤。
flushed_to_disk_lsn表示刷到磁盤的lsn。需要這個值是因為並非每次寫盤後就flush。
buf待寫入的內容保存在buf中
buf_sizebuf的大小。由配置中innodb_log_buffer_size決定,實際大小為innodb_log_buffer_size /16k * 16k。
buf_next_to_writebuf中下一個要寫入磁盤的位置
buf_freebuf中實際內容的最後位置。當buf_free> buf_next_to_write時,說明內存中還有數據未寫盤。


$ ^$ ~5 r0 h. O' \1 h. g. ]" b5 w. U: {; M$ i

9 X) u( L, l* n: L- n2 K* i) ?3、相關更新2 ]7 |# R  k  l' L9 |  k
用一個簡單的更新語句來說明log_sys以及ib_logfile的更新內容的過程。假設我們的更新只涉及到非索引的固定長度字段。+ o0 ^4 Y" G) A' j0 g9 B9 ^
a) 在bufferpool中寫入undo log。 對於一個單一的語句,需要先創建一個undolog頭。8 \* q4 z; T+ q" B6 j& }
b) 在bufferpool中寫入undo log的實際內容。
/ W; B( ?8 R2 X; H0 w, Bc) 在log_sys->buf中寫入buffer page的更新內容。此處保存了更新的完整信息。
( b. K- F& x4 P! x6 \4 rd) 在log_sys->buf中寫入啟動事務(trx_prepare)的日誌) b' `/ I$ _  }7 P. x5 C/ A: g& c( P/ L
e) 將c、d更新的log內容寫入ib_logfile中。
8 ^0 n5 k- j7 I; |f) 在log_sys->buf中寫入事務結束(trx_commit)的日誌9 [2 W7 B7 D7 M4 p* J0 P
g) 將f步驟的log內容寫入ib_logfile中。
' C7 V2 s$ a7 R& |) N
; O% f+ ~4 l+ l$ m; @0 ?  c4、說明9 u* c+ C' X; w! g& k  P! F) |
a) 完成上述所有操作時,數據文件還沒有更新。5 L9 a! G+ ]9 P+ m9 X7 r' Z% D3 N
b) 每次寫入log_sys->buf時同時更新lsn和buf_free。 每次寫ib_logfile時同時更新written_to_all_lsn和buf_next_to_write;& m$ z: G: c4 J( J
c) 每次寫ib_logfile時以512字節為對齊,如需寫入600字節,則實際寫入1k。寫到最後一個文件末尾則從第一個文件重復使用。8 T; I2 x' \4 L6 ~" @
d) 從上述流程看到,在a~d過程中若出現異常關閉,由於沒有寫入到磁盤中,因此整個事務放棄;若在e剛完成時出現異常關閉,雖然事務內容已經寫盤,但沒有提交。在重啟恢復的時候,發現這個事務還沒有提交,邏輯上整個事務放棄。 (重啟日誌中會有Found 1 prepared transaction(s) in InnoDB字樣)。在g完成後出現異常關閉,則能夠在重啟恢復中正常提交。
8 [3 }( D& C4 e
5 s; f: ^" H1 l9 s! q7 E; M在e和f之間會寫mysql的bin-log,若bin-log寫完前異常關閉,事務無效,bin-log寫入成功後,則異常重啟後能夠根據bin-log恢復事務的修改。
0 m5 T5 Y; z! }. K4 a$ Z% ~. \: x- Q8 V5 k7 h
e) 若涉及到索引更新,在步驟c之後會增加索引更新的log。由於索引可能有merge過程,因此在merge過程中會另外增加寫入一個log。但事務完全提交仍在步驟g中。索引的更新由於已經寫盤,並不會因此丟失。

 楼主| 发表于 2021-12-15 01:00:07 | 显示全部楼层
ib_logfile0 记录系统的回滚,重做日志。
5 i8 R8 x: ^8 v; j2 Q
8 T$ d8 X5 b* O/ o. U; Qmysql-bin.000011 系统的所有更新记录。
) y( j  W' Y; C) r) @/ }; G' w# _$ g8 m8 e/ n
! Q* x9 |+ i7 w' Z. ^9 T2 T; g
如果需要更详细的则建议看一下数据库原理方面的教材,应该有一个章节讲这个redo,undo 日志的。 ) U/ t6 k5 L& a
,ib_logfile0是重做日志,记录的是文件的物理更改         2 S- t( m! B. C" ?6 L1 F
mysql-bin.000011是数据库更新日志  记录的是逻辑更改
8 D) j( d6 y4 N! U, W! k6 G0 m. u( R, {# r3 [% O3 z
,- C* j! W* w) Y/ V6 B5 x/ W& K: i
ib_logfile0是重做日志,也就是 在你修改数据之前,会先把 修改的操作 作为日志先记录下来。
# m! y7 I9 c& V, o: c+ Z/ c/ ?        
7 p/ v  i) k$ ]8 @$ D- o9 Omysql-bin.000011是二进制日志,格式是二进制的,但是这个日志更加有用,比如 在我们做 数据库的主从复制时,这个二进制日志就是关键,mysql会把日志发送到slave,salve会接收日志,然后解析日志,把里面的sql语句重新应用到数据库里,于是就能同步数据了。. e8 f3 x) }5 O- H' d3 _+ P- S
,ib_logfile0:记录的是redo log和undo log的信息,这里记录的基本是commit之前的数据。# V7 r& `0 G5 c4 Y1 a
" H! o. O& C( c0 s' s
mysql-bin.000011:记录的是已经执行完毕的对数据库的dml和ddl信息,这里记录的基本是commit之后的数据信息。
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 点击这里给我发消息

GMT+8, 2026-4-8 13:44 , Processed in 0.048614 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表