找回密码
 注册
查看: 1390|回复: 4

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2021-12-15 01:00:03 | 显示全部楼层 |阅读模式
MySQL误删ibdata1 ib_logfile0,ib_logfile1 恢复方法:
' r/ |8 `3 W  K/ X& \2 _
0 V9 J6 ]! @8 N- T5 c) i3 A  M恢复的步骤和数据库版本没有太大关系。4 g; F5 D$ F9 k1 }
在linux操作系统中,如果文件从操作系统级别别rm掉,之前打开的文件进程仍持有相应的文件句柄,
% v) \! w3 t# S& R所指向的文件仍然可以读写,且该文件的描述符可以从/proc目录中获得(不关闭MySQLd情况下).
) p  p' F  ?1 v0 K* m6 S. e6 P5 ?/ J. i7 B4 g
在删除3个文件后,MySQLd 仍是可以运行,对外服务的,MySQL一只保持InnoDB文件打开,因此,, Q* A7 d3 G, x6 P5 R0 Q' p& ?
在工作中有必要监控文件是否存在。
/ k$ J1 p( Y' Y$ p8 _3 C2 x发现文件被删除之后,不能重启InnoDB,因为启动InnoDB,检测到ibdata1,ib_logfile0,ib_logfile1
" t5 j2 W3 ~* l8 A4 y0 y不存在,所以,将创建对应的空文件,InnoDB数据字典是空的,InnoDB无法使用原先存在的ibd文件,故,( ^  L  c6 x$ E; \; Y0 W
MySQL不重启,快速恢复删除的文件是可能的。
/ i" K2 o6 n# o* r" u4 C! j" i0 S, Z# h2 I! I. |$ Z
在MySQLd运行过程中,ibdata1,ib_logfile0,ib_logfile1一直运行在2 N, o: n& a- C" D! I6 J
/proc/mysql.pid/fd目录下,其中vm-mysql.pid是mysql进程的PID,获取方法:
3 b  d7 Q$ E9 r& v[root@mysql ~]# ls -l /proc/$(cat /opt/mysql/data2/mysql.pid)/fd | grep -e ibdata -e ib_
( A6 [; v' M) [. G. H/ blrwx------ 1 root root 64 Oct 16 14:16 10 -> /opt/mysql/data2/ib_logfile1 (deleted)
0 F8 V: L* }! {* o# Y! Hlrwx------ 1 root root 64 Oct 16 14:16 4 -> /opt/mysql/data2/ibdata1 (deleted)
+ z$ W" J- f1 e0 @1 G, Y) F4 Flrwx------ 1 root root 64 Oct 16 14:16 9 -> /opt/mysql/data2/ib_logfile0 (deleted)
3 y3 Q5 z( a" N- [# F: C! x0 [8 R$ H9 {& _
但是,我们不能简单copy回源目录中,因在buffer pool有已经修改的页,这些页没有被写入磁盘,如果改变的页) T4 O  B( Y$ ?3 v: ~' `7 t, u! g
没有永久写入,数据将会丢失,这些导致数据损坏和丢失。4 K5 x& V, [4 d6 ^
同样原因,我们不能做MySQL备份,仅能coping那些文件。3 ~; o2 u2 M; U( q! W' N% J( _
因此,我们必须确保所有的修改全写入磁盘中。" S. y: p* f7 D& w! Y
我们现在能做的阻止写,且等待InnoDB刷新所有的页。
$ z; V/ o- E& G7 [  L1.为了阻止写,我们要么停止应用程序或锁表。
* `" T5 e9 t; V& F0 w$ jMariaDB [(none)]> flush tables with read lock;+ w+ h! L! d$ j! k/ A
Query OK, 0 rows affected (0.01 sec)
2 r5 S" g/ q- _2 K; K- I$ i! m4 R$ k5 F6 F4 v, ]
2. show engine innodb status 中脏页刷新到磁盘,
" J- ], W  Q" z5 F---
4 R# i5 }3 G5 t5 MLOG
1 s, ?0 C6 C  U# _+ H# w---
4 B; e( R1 F6 zLog sequence number 0 50355& I5 z0 V8 O% V2 |
Log flushed up to   0 503558 I: G/ b: b) j* A) j
Last checkpoint at  0 50355
) m4 V, y$ u+ D# m5 Y* P- ~* ]' D" B0 pending log writes, 0 pending chkp writes
/ O1 z4 Z% ^3 S2 M39 log i/o's done, 0.00 log i/o's/second
1 y0 j6 h& o; a# G$ j1 R
- A: b- l$ @8 e/ l5 ^; }1 ~加速脏页刷新,设置dirty pages percentage to zero:
5 o) {5 P; P7 V; Y7 s6 m# KMariaDB [(none)]> set global innodb_max_dirty_pages_pct=0;7 c4 v$ h2 [" u
Query OK, 0 rows affected (0.00 sec)
* Q$ W; k8 R; G1 m. {: ^' c% Q9 }( ^0 s, x$ B* i
3.确保所有后台进程已经完成自己的工作,也是重要的。6 V8 |' V9 t! {1 X9 m& [& f/ c9 J
注意,插入缓冲线程,它的大小等于1
: l7 u) J1 Y& K5 ~+ O7 z+ v3 Q5 f' @-------------------------------------: V0 `7 o1 R1 F5 j; u. e& l
INSERT BUFFER AND ADAPTIVE HASH INDEX
2 A7 A7 M* e1 x: s0 D+ P* {, k-------------------------------------5 z/ }& \4 y* x5 k2 |8 c
Ibuf: size 1, free list len 0, seg size 2,
/ T0 l8 I  Y/ p5 p* I0 inserts, 0 merged recs, 0 merges: y4 _; o& T' k/ b3 M
Hash table size 34679, node heap has 1 buffer(s)# i) I5 i- L& t) n, L' x  [
0.00 hash searches/s, 0.00 non-hash searches/s6 [- ^$ D0 S; q' o5 h& g- {) b% g

/ S) {' r6 p5 l) Q* `& S/ L4.后台写进程purge thread,清除所有事务。9 N" b$ G+ I- ]
------------
! q9 J, k+ O* ^7 X; F1 eTRANSACTIONS
3 v/ I7 W) U1 Q. `$ J4 R- R- x------------. _3 }# o' W6 m0 [7 P
Trx id counter 0 7841 ^8 e  h+ F2 v5 ~  l* ]; r$ f
Purge done for trx's n:o < 0 0 undo n:o < 0 0
! x4 R  y( M$ ]0 E) T1 ?但是,如果上次事务没有需要清理操作Trx id计数比较大(如,SELECT),
: {* ?- @2 Z( q在这种情况下,至少要保证InnoDB不再做任何写动作。
% T# k7 j4 `& H7 [3 `--------2 [* K8 X) X6 Y  I2 m6 L" Q
FILE I/O
' _" w0 l6 D0 z--------
9 t, t1 V5 {% `0 HI/O thread 0 state: waiting for i/o request (insert buffer thread)
# \2 M, W2 Y- O; q2 iI/O thread 1 state: waiting for i/o request (log thread)6 X# G$ Q( G% n
I/O thread 2 state: waiting for i/o request (read thread)
- E5 E4 V% N/ L3 l+ aI/O thread 3 state: waiting for i/o request (write thread)
' X" k3 z3 d* KPending normal aio reads: 0, aio writes: 0,% f& R  D- }/ L  i2 P4 n
ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0! L# t) D+ F. K* ?8 M
Pending flushes (fsync) log: 0; buffer pool: 0
# o" o% o5 b& X1 o- Q( B" D0 OS file reads, 81 OS file writes, 59 OS fsyncs
7 m0 u1 l. J5 q; a8 R0.00 reads/s, 0 avg bytes/read, 0.00 writes/s, 0.00 fsyncs/s
- o( l; p  g. N/ c. E  C1 ~, _7 j  j4 K. R) Y2 {" @# l
经历了4步,所有被修改脏页刷新到磁盘,现在开始copy InnoDB 文件到源目录:
) [( h" f! Z5 D6 g: z* k[root@mysql ~]# cp /proc/$(cat /opt/mysql/data2/mysql.pid)/fd/4 /opt/mysql/data2/ibdata1& S0 }# `+ v4 K
[root@mysql ~]# cp /proc/$(cat /opt/mysql/data2/mysql.pid)/fd/9 /opt/mysql/data2/ib_logfile0
2 B2 Z$ t. g( I2 x2 Z# m& Y[root@mysql ~]# cp /proc/$(cat /opt/mysql/data2/mysql.pid)/fd/10 /opt/mysql/data2/ib_logfile17 _* Q1 e( u6 @) i
$ x2 k: ]- P5 u
5.修改ib*所属用户
9 F: q# }( J2 f" S; t7 ]/ ]chown -R mysql ib** G5 y- {( K* d+ h. _: ^( s: Q, H0 x
4 [) r1 m2 u' ?# f1 `
6.重启MySQLd! {+ z% [* F# o+ y& o" J
........
2 C5 Z+ }$ M0 g/ u* p) k
0 y) L' X9 T. z5 Z' i! k结论:
5 R1 l# O9 l' e6 n0 ?9 D0 A- d1.监控InnoDB文件 ibdata 和 ib_logfile* 是否存在. T; s& t: I& P1 e) @
2.清楚恢复策略,否则不要重启MySQLd
0 I+ g; Z2 t( o

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-12-15 01:00:04 | 显示全部楼层
于是再/ect/my.cnf中加入max_connections=1000    wait_timeout=5这两个配置
2 @7 P- p1 ?+ ?4 d& {6 l5 J  L0 `- q4 s5 H
# n+ N3 U& s! ]  h. X1 V8 z
6 Z% G; R4 Q! q( F, O! A
重启mysql,启动成功,但是项目却无法打开,又重新打开mysql日志发现他一直无休止的重启,百度搜了好多办法都不行
( R" \( c0 M* ^4 @, p. A: i* n# `0 s  M* w
后来看到这段配置. S0 m" H0 h$ n

1 ~" o; I+ k+ |3 ]
  A& E  P6 _: m' o! e& v% w7 F" i
我想应该是因为文件问题导致ibdata1损坏了,然后从1 到6全部都试了一遍,效果却是然并卵
: Z7 g; J: J( |- c9 B, w
- R9 @, f4 e$ m4 n. \. {到最后是这样配置的
" `! x* c' t" i( G/ |
6 g- E  O( }# v& fhttps://img-blog.csdn.net/20180511171205193?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dsX2FuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70
2 h; V. E3 c/ Y, O
: q/ {; U4 u! O然后重启mysql没有问题,然后打开项目发现还是访问不了,后来发现tomcat停了,重启tomcat,完美解决0 A( _. }$ u4 K( Q" b; J# S

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-12-15 01:00:05 | 显示全部楼层
操作步骤:) X6 n1 W0 y( T2 \! p3 N* x

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-12-15 01:00:06 | 显示全部楼层

概念:
: {7 `, c9 D6 a: Y* Y! I3 m4 K5 E8 d事務日誌或稱redo日誌,在mysql中默認以ib_logfile0,ib_logfile1名稱存在,可以手工修改參數,調節開啟幾組日誌來服務於當前mysql數據庫,mysql采用順序,循環寫方式,每開啟一個事務時,會把一些相關信息記錄事務日誌中(記錄對數據文件數據修改的物理位置或叫做偏移量);; S' A* F3 C3 J3 f# S
這個系列文件個數由參數innodb_log_files_in_group控制,若設置為4,則命名為ib_logfile0~3。
9 O5 }9 r6 m7 p- u這些文件的寫入是順序、循環寫的,logfile0寫完從logfile1繼續,logfile3寫完則logfile0繼續。6 v, [! v. C: Q$ B" F9 a+ x9 f
* d5 ^0 j# H4 c- N: N
作用:
% ]) ^3 r; w! A5 ^9 y在系統崩潰重啟時,作事務重做;在系統正常時,每次checkpoint時間點,會將之前寫入事務應用到數據文件中。
3 a7 h& j5 O  z* c1 Z3 P% u/ j/ D5 \! Z) M1 p  }: Y
Ib_logfile的checkpoint field0 P5 i0 t3 K, I0 k
實際上不僅要記錄checkpoint做到哪兒(LOG_CHECKPOINT_LSN),還要記錄用到了哪個位置(LOG_CHECKPOINT_OFFSET)等其他信息。所以在ib_logfile0的頭部預留了空間,用於記錄這些信息。% j2 d  n7 q0 W3 x  w5 B
因此即使使用後面的logfile,每次checkpoint完成後,ib_logfile0都是要更新的。同時你會發現所謂的順序寫盤,也並不是絕對的
/ O  H5 F  Z# c# B8 f- r' d# v: y相關的一些數字1 A+ j' s5 a  J" }4 O
a) InnoDB留了兩個checkpoint filed,按照註釋的解釋,目的是為了能夠“write alternately”/ e$ V$ E% A3 G$ \6 U5 I7 j
b) 每個checkpint field需要的大小空間為304字節。(相關定義在log0log.h)" [3 B' L. Z. [3 B
c) 第一個checkpoint的起始位置在ib_logfile0的第512字節(OS_FILE_LOG_BLOCK_SIZE)處;/ h3 V& W8 g) ?2 e! e6 R
d) 第二個在1536 (3 * OS_FILE_LOG_BLOCK_SIZE)字節處。
8 p9 T0 N9 E8 j1 c4 s( \( P: z* S9 p& O9 Z- D% V# {

$ c9 m% @/ P9 p2 @2 |: A* v6 o: P特點:
8 Y6 z+ O. Q3 F% T5 |redo log只是記錄所有innodb表數據的變化。
7 y# [# O4 C, A! N4 h  Uredo log只是記錄正在執行中的dml以及ddl語句。
3 w) B9 C1 q% q) I  k! Kredo 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事務;不會出現主從庫不一致問題.
- l! W- v1 L1 }! E$ k, e相關參數(全局&靜態):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控制,稍後解釋,啟用大的事務日誌緩存,可以將完整運行大事務日誌,) p' _& B, G: `2 F4 V
暫時存放在事務緩存區中,不必(事務提交前)寫入磁盤保存,同時也起到節約磁盤空間占用;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能力足夠支持業務,如充值消費,敏感業務;

8 x0 [$ _! {% U/ G1 S6 _
5 a- f2 C$ `! p0 _# Y$ j

引入ib_logfile的寫入策略

1、基本概念8 x; C) J$ b: w5 v* z% `- h: t
a)、ib_logfile文件個數由innodb_log_files_in_group配置決定,若為2,則在datadir目錄下有兩個文件,命令從0開始,分別為ib_logfile0和ib_logfile.# U) n0 }9 H+ q+ A0 F) u
b)、文件為順序寫入,當達到最後一個文件末尾時,會從第一個文件開始順序復用。* d/ Q3 N4 e( E5 L7 m( Y
c)、lsn: Log Sequence Number,是一個遞增的整數。 Ib_logfile中的每次寫入操作都包含至少1個log,每個log都帶有一個lsn。在內存page修復過程中,只有大於page_lsn的log才會被使用。4 N5 e8 l$ z( e1 j7 G+ L2 v
d)、lsn的保存在全局變量log_sys中。遞增數值等於每個log的實際內容長度。即如果新增的一個log長度是len,則log_sys->lsn += len.% t% d, r* h* x6 D
e)、ib_logfile每次寫入以512(OS_FILE_LOG_BLOCK_SIZE)字節為單位。實際寫入函數 log_group_write_buf (log/log0log.c). C/ h( C' w* I* |/ k5 U2 r/ E( L
f)、每次寫盤後是否flush,由參數innodb_flush_log_at_trx_commit控制。- X0 v6 B) A6 J  l/ B2 j/ T
9 @) u5 J8 @# O0 B/ I5 n  M
2 ~# L4 T' a3 o
2、log_sys介紹
2 D% ~4 s! b! y4 Klog_sys是一個全局內存結構。以下說明幾個成員的意義。* R9 Z9 z/ h+ X

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時,說明內存中還有數據未寫盤。


0 W, [! V6 `6 {0 Q
4 {3 }7 Y3 x' k: T5 r( e, T1 R9 X; v' [- l2 y
3、相關更新
0 u. p* m$ I  \2 i! @" G用一個簡單的更新語句來說明log_sys以及ib_logfile的更新內容的過程。假設我們的更新只涉及到非索引的固定長度字段。6 F  ~( x6 _7 y( Q  o
a) 在bufferpool中寫入undo log。 對於一個單一的語句,需要先創建一個undolog頭。( q: X) }1 b8 A& M. B: f' j
b) 在bufferpool中寫入undo log的實際內容。7 l$ c3 [% N6 }5 E, H$ o% J$ r
c) 在log_sys->buf中寫入buffer page的更新內容。此處保存了更新的完整信息。* P, k& e* Q/ `' ^5 }
d) 在log_sys->buf中寫入啟動事務(trx_prepare)的日誌3 {0 w" C" ~+ m& }1 c  ^
e) 將c、d更新的log內容寫入ib_logfile中。
: t" @/ B$ N3 S" X9 Cf) 在log_sys->buf中寫入事務結束(trx_commit)的日誌0 h& }" u  b% n6 Z8 V2 T( G
g) 將f步驟的log內容寫入ib_logfile中。
. r% f0 v' h) ~
. G" l. z3 I1 ~9 s4、說明
: g  R1 s, {1 J$ y% V5 da) 完成上述所有操作時,數據文件還沒有更新。6 @+ [* H, S/ l; K: g
b) 每次寫入log_sys->buf時同時更新lsn和buf_free。 每次寫ib_logfile時同時更新written_to_all_lsn和buf_next_to_write;& _) F- U' N" B* F" g+ w/ X' u+ m$ \
c) 每次寫ib_logfile時以512字節為對齊,如需寫入600字節,則實際寫入1k。寫到最後一個文件末尾則從第一個文件重復使用。, M- z9 K3 Q0 n
d) 從上述流程看到,在a~d過程中若出現異常關閉,由於沒有寫入到磁盤中,因此整個事務放棄;若在e剛完成時出現異常關閉,雖然事務內容已經寫盤,但沒有提交。在重啟恢復的時候,發現這個事務還沒有提交,邏輯上整個事務放棄。 (重啟日誌中會有Found 1 prepared transaction(s) in InnoDB字樣)。在g完成後出現異常關閉,則能夠在重啟恢復中正常提交。
: D* M# A( P8 q- n- i* S4 H- F- c! Q4 f
在e和f之間會寫mysql的bin-log,若bin-log寫完前異常關閉,事務無效,bin-log寫入成功後,則異常重啟後能夠根據bin-log恢復事務的修改。! \8 e. _' G# b. z* q" s. ]
) e3 \! n% c. @: H* h5 Z& j1 v" d; ~2 t
e) 若涉及到索引更新,在步驟c之後會增加索引更新的log。由於索引可能有merge過程,因此在merge過程中會另外增加寫入一個log。但事務完全提交仍在步驟g中。索引的更新由於已經寫盤,並不會因此丟失。

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-12-15 01:00:07 | 显示全部楼层
ib_logfile0 记录系统的回滚,重做日志。6 a4 b2 n7 `- g% s" M! v, M6 [* N

! {7 P$ A/ Q) umysql-bin.000011 系统的所有更新记录。
, _. N+ B8 [' d$ @* c( R5 v; R
4 q6 J9 z  f" f0 \6 x( @
: H, d( w7 q. F+ U/ h3 l如果需要更详细的则建议看一下数据库原理方面的教材,应该有一个章节讲这个redo,undo 日志的。
  Z) B" R5 z6 {- E; `7 P/ k& G5 O0 b,ib_logfile0是重做日志,记录的是文件的物理更改         
: d1 K. G9 D! J  S% Y0 _- imysql-bin.000011是数据库更新日志  记录的是逻辑更改/ A; t: q% L6 ^

  @* t/ u) a! H4 B% e) T- y# r+ T9 z& G9 k,
; W; H- o& M" Y' k" T7 g# Y& Uib_logfile0是重做日志,也就是 在你修改数据之前,会先把 修改的操作 作为日志先记录下来。
0 ~, S4 _) ^& l+ b        1 X9 E" g3 V1 `3 L% s: d
mysql-bin.000011是二进制日志,格式是二进制的,但是这个日志更加有用,比如 在我们做 数据库的主从复制时,这个二进制日志就是关键,mysql会把日志发送到slave,salve会接收日志,然后解析日志,把里面的sql语句重新应用到数据库里,于是就能同步数据了。
' c. D2 }% l( I1 ~,ib_logfile0:记录的是redo log和undo log的信息,这里记录的基本是commit之前的数据。" f1 H, w+ y/ |3 y- u
, W$ [! R7 ^% X0 L; Z; K
mysql-bin.000011:记录的是已经执行完毕的对数据库的dml和ddl信息,这里记录的基本是commit之后的数据信息。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 00:14 , Processed in 0.051645 second(s), 32 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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