易陆发现互联网技术论坛

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

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

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

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

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

x
MySQL误删ibdata1 ib_logfile0,ib_logfile1 恢复方法:. s6 R( G3 @' x: Z6 {& [1 C

8 R: R6 y' ^  }* `5 Q恢复的步骤和数据库版本没有太大关系。
. ~  l5 v% e# w在linux操作系统中,如果文件从操作系统级别别rm掉,之前打开的文件进程仍持有相应的文件句柄,0 _& J( V0 B( w5 f) k. G. Z9 x
所指向的文件仍然可以读写,且该文件的描述符可以从/proc目录中获得(不关闭MySQLd情况下).
8 i: T, u# }) C( q# F, o, A* x6 m1 C$ k
在删除3个文件后,MySQLd 仍是可以运行,对外服务的,MySQL一只保持InnoDB文件打开,因此,, ?1 B  ~  B1 J: x
在工作中有必要监控文件是否存在。8 y- `7 d. U) o3 b
发现文件被删除之后,不能重启InnoDB,因为启动InnoDB,检测到ibdata1,ib_logfile0,ib_logfile1& r1 R- K# Q, E) j* B: D, @' H
不存在,所以,将创建对应的空文件,InnoDB数据字典是空的,InnoDB无法使用原先存在的ibd文件,故,
' G# y* r- K* V7 c0 uMySQL不重启,快速恢复删除的文件是可能的。8 Z$ Q$ f+ v  r8 d
) V" c2 L4 L; G2 C
在MySQLd运行过程中,ibdata1,ib_logfile0,ib_logfile1一直运行在- m  z4 W& p3 ?( n
/proc/mysql.pid/fd目录下,其中vm-mysql.pid是mysql进程的PID,获取方法:* t7 V5 F# K! f: Z& h
[root@mysql ~]# ls -l /proc/$(cat /opt/mysql/data2/mysql.pid)/fd | grep -e ibdata -e ib_) B. p/ y* ^* V- f, x9 I% v) E. s
lrwx------ 1 root root 64 Oct 16 14:16 10 -> /opt/mysql/data2/ib_logfile1 (deleted)0 `+ f# i6 f( ]3 q+ b" U' n# D
lrwx------ 1 root root 64 Oct 16 14:16 4 -> /opt/mysql/data2/ibdata1 (deleted)
; J% P0 t: Q, c8 L/ y! }lrwx------ 1 root root 64 Oct 16 14:16 9 -> /opt/mysql/data2/ib_logfile0 (deleted)
5 n( p* T7 ?. L4 h" T. u/ {7 C2 e8 \$ t- r1 Y: L; b
但是,我们不能简单copy回源目录中,因在buffer pool有已经修改的页,这些页没有被写入磁盘,如果改变的页: O, U. R5 n' w$ w8 {$ m
没有永久写入,数据将会丢失,这些导致数据损坏和丢失。
3 N6 X, M) i$ x& E6 Q4 L- U同样原因,我们不能做MySQL备份,仅能coping那些文件。+ r6 J1 t+ }3 L$ c( u) o
因此,我们必须确保所有的修改全写入磁盘中。
  `0 \% j* j0 ?9 S1 _我们现在能做的阻止写,且等待InnoDB刷新所有的页。
6 f) ~2 Z0 Q& R! u8 F9 ~2 }) }1.为了阻止写,我们要么停止应用程序或锁表。
/ p9 }; N$ Z% UMariaDB [(none)]> flush tables with read lock;7 C" ~# \' r- P( t' Z# Q+ ^
Query OK, 0 rows affected (0.01 sec)
, {1 I- B. }* {  `! m: V
  ]& Z2 w$ Y2 r- c2. show engine innodb status 中脏页刷新到磁盘,. }" r8 S. a  {
---
8 ?6 `' d, N. P# R$ DLOG
( V# _: `: S; |) C9 H+ R! D4 [---
5 ~1 g. x2 J- u  s, g2 hLog sequence number 0 503559 Z  F: H2 Q1 w* q3 O; ~/ {( u
Log flushed up to   0 50355, G( @1 H5 W$ k* V) M! G
Last checkpoint at  0 50355
+ E; O8 c3 v8 i+ D0 \0 pending log writes, 0 pending chkp writes
% F( U1 M/ v9 ]" k" M' t39 log i/o's done, 0.00 log i/o's/second& R* J0 d& s8 F

, J/ ]9 ?  Q) |5 f加速脏页刷新,设置dirty pages percentage to zero:2 h/ O9 ^1 y( g- P, N
MariaDB [(none)]> set global innodb_max_dirty_pages_pct=0;
& c3 {! y; P! C  a& qQuery OK, 0 rows affected (0.00 sec)
  ]5 F7 B, J( s. X, B2 p! e* q1 O, ^+ n
3.确保所有后台进程已经完成自己的工作,也是重要的。
8 B8 `6 r, }6 o+ [1 u& F4 ]注意,插入缓冲线程,它的大小等于1
; i, S+ i! q* _-------------------------------------
% c) p, e6 M3 q: qINSERT BUFFER AND ADAPTIVE HASH INDEX6 g" X1 k& H# S" S5 y
-------------------------------------
8 E! K4 d1 L) z5 iIbuf: size 1, free list len 0, seg size 2,
; u4 h$ S6 d9 o1 V% e0 inserts, 0 merged recs, 0 merges: o8 ~( z; ]' G+ B1 M
Hash table size 34679, node heap has 1 buffer(s)
: N% K. m; ~2 V# H0.00 hash searches/s, 0.00 non-hash searches/s' e' {; P$ E+ R. B5 Q  E5 j
9 j$ s) J7 B; _& Z
4.后台写进程purge thread,清除所有事务。) H  A' i3 b0 W% L. x) l8 E$ z
------------
+ C2 {4 v: N, vTRANSACTIONS- t6 e( N7 e# C- `+ C
------------. @9 F& U$ R  A5 L! O) J
Trx id counter 0 784
7 x" [  [' I* yPurge done for trx's n:o < 0 0 undo n:o < 0 0! S0 O: F! O* S4 C9 V2 ~' F9 ~
但是,如果上次事务没有需要清理操作Trx id计数比较大(如,SELECT),$ O2 N- [' C/ P/ `; F8 b* v
在这种情况下,至少要保证InnoDB不再做任何写动作。
& ~. y" C# g! v" z--------* U& X, {6 G7 N
FILE I/O- o# C1 B4 t+ W( v% N$ {# I  u
--------: [' K% Z5 Q$ ]' @' T! @5 e
I/O thread 0 state: waiting for i/o request (insert buffer thread)
7 b, R& W# g2 |! K' o% Y$ Y4 }I/O thread 1 state: waiting for i/o request (log thread), W6 i9 I' A5 T+ Q
I/O thread 2 state: waiting for i/o request (read thread)
6 ^! O% ?1 J) C  pI/O thread 3 state: waiting for i/o request (write thread)
! c2 f4 V, j6 gPending normal aio reads: 0, aio writes: 0,
1 k9 h/ D# ~/ S0 b. e ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0+ F5 l' Y7 b0 W+ H) I
Pending flushes (fsync) log: 0; buffer pool: 0$ w6 a# D9 `; V% c* m
0 OS file reads, 81 OS file writes, 59 OS fsyncs
6 Q7 a! K1 x# a) d0.00 reads/s, 0 avg bytes/read, 0.00 writes/s, 0.00 fsyncs/s& W8 `6 L" ~) V& k9 \

) e3 D2 h/ o& Z2 p# A经历了4步,所有被修改脏页刷新到磁盘,现在开始copy InnoDB 文件到源目录:
% j5 T& `5 ^; X' N" m[root@mysql ~]# cp /proc/$(cat /opt/mysql/data2/mysql.pid)/fd/4 /opt/mysql/data2/ibdata1
/ k; [. }2 R$ C# Q[root@mysql ~]# cp /proc/$(cat /opt/mysql/data2/mysql.pid)/fd/9 /opt/mysql/data2/ib_logfile0% a, w; B- L; Y" s9 a" w
[root@mysql ~]# cp /proc/$(cat /opt/mysql/data2/mysql.pid)/fd/10 /opt/mysql/data2/ib_logfile1" F, V$ e+ |. H" @! n' A1 ]
8 t$ i* Q! ?8 F/ R5 I
5.修改ib*所属用户
$ K9 I, }0 C5 `" w# d( |1 Q5 Xchown -R mysql ib*
* d. B3 S6 S+ m1 h& T5 w( m( m
& ^+ I* `2 ~$ H6.重启MySQLd
% z7 B# Z# @* J! b% ?( [: U: ?........- s1 M* ~6 S; N
+ s+ {6 e8 F- p7 z9 X- B. h1 O+ v
结论:
; _) ~3 `6 L9 H* s# R2 I& C1.监控InnoDB文件 ibdata 和 ib_logfile* 是否存在) I' W2 f. E9 P3 v
2.清楚恢复策略,否则不要重启MySQLd4 a: ^# B6 d8 L1 s3 S' p9 d
 楼主| 发表于 2021-12-15 01:00:04 | 显示全部楼层
于是再/ect/my.cnf中加入max_connections=1000    wait_timeout=5这两个配置# c  {0 Y5 @. E1 [  u" ]
# I$ q2 v" L7 `

9 A2 f& s- d. {6 y! e( I) b4 g
: C5 U4 Q5 ]1 [( S/ ~. y重启mysql,启动成功,但是项目却无法打开,又重新打开mysql日志发现他一直无休止的重启,百度搜了好多办法都不行5 `2 J! I, B) m: r0 ?* T
7 P, ?" D. S$ L2 M4 \7 k2 V# J. z
后来看到这段配置
; V9 q9 T& p: J6 A" W
- s- G7 }8 _! T8 U( t; Q) [) W
6 E8 J1 g7 z* i' Z1 w$ S: ^# h4 S& o) N
1 V, h9 n& ^( T0 _我想应该是因为文件问题导致ibdata1损坏了,然后从1 到6全部都试了一遍,效果却是然并卵
) n) z& ]0 j6 h" L" G. h$ v7 J4 T. B7 B8 s- E
到最后是这样配置的
$ a) a0 {2 f, H2 g* Z4 ^6 N" f5 a7 L
https://img-blog.csdn.net/20180511171205193?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dsX2FuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70
" A9 e$ ?; I; s" y$ c7 d3 r' y4 `% L; d6 @% q
然后重启mysql没有问题,然后打开项目发现还是访问不了,后来发现tomcat停了,重启tomcat,完美解决$ X4 s0 j. d; ~9 ]- C0 o8 U9 P$ |$ N
 楼主| 发表于 2021-12-15 01:00:05 | 显示全部楼层
操作步骤:
$ {7 X8 z7 V/ q
                               
登录/注册后可看大图
6 R0 M8 Q! `2 U  W: e3 K$ g
企业微信截图_16394522573697.png
 楼主| 发表于 2021-12-15 01:00:06 | 显示全部楼层

概念:" b$ J( ^& N5 H) A7 h: _$ r2 e
事務日誌或稱redo日誌,在mysql中默認以ib_logfile0,ib_logfile1名稱存在,可以手工修改參數,調節開啟幾組日誌來服務於當前mysql數據庫,mysql采用順序,循環寫方式,每開啟一個事務時,會把一些相關信息記錄事務日誌中(記錄對數據文件數據修改的物理位置或叫做偏移量);" b- o- D; S+ B" K$ w
這個系列文件個數由參數innodb_log_files_in_group控制,若設置為4,則命名為ib_logfile0~3。2 |% F$ \& w& I
這些文件的寫入是順序、循環寫的,logfile0寫完從logfile1繼續,logfile3寫完則logfile0繼續。: [- a" B% g: F2 s7 {: o* s: _

' }; z6 u& M5 G7 I7 K作用:
  U: _1 E( O- c. j- V5 \: K在系統崩潰重啟時,作事務重做;在系統正常時,每次checkpoint時間點,會將之前寫入事務應用到數據文件中。8 A- k- J* b" u' I0 E! P5 p) `

+ i( Z8 N  y$ V& _: L, K, yIb_logfile的checkpoint field, x2 K% ~- p' z; I3 S1 Q7 Z
實際上不僅要記錄checkpoint做到哪兒(LOG_CHECKPOINT_LSN),還要記錄用到了哪個位置(LOG_CHECKPOINT_OFFSET)等其他信息。所以在ib_logfile0的頭部預留了空間,用於記錄這些信息。+ t. z# u1 w% R9 W2 h, y
因此即使使用後面的logfile,每次checkpoint完成後,ib_logfile0都是要更新的。同時你會發現所謂的順序寫盤,也並不是絕對的$ M$ W5 X5 l0 g) O& x# V2 g
相關的一些數字
0 ~( w* Y  P1 a( P* y) j7 o3 ia) InnoDB留了兩個checkpoint filed,按照註釋的解釋,目的是為了能夠“write alternately”, S" U' T3 M# ?
b) 每個checkpint field需要的大小空間為304字節。(相關定義在log0log.h)1 ~- |: |) D; v9 A6 ?: ^  V5 W" y) [
c) 第一個checkpoint的起始位置在ib_logfile0的第512字節(OS_FILE_LOG_BLOCK_SIZE)處;
5 S" i, P  N; e- i+ D" h. s7 s8 Ud) 第二個在1536 (3 * OS_FILE_LOG_BLOCK_SIZE)字節處。
6 a5 ?1 R4 ]* g% J, R! Z
" j& Y- B- K) v& E
, ^& @- g% Z/ K+ y特點:' J; D4 h7 w3 z& |
redo log只是記錄所有innodb表數據的變化。% o* q0 ?: f3 t& B, Z- d. z1 k
redo log只是記錄正在執行中的dml以及ddl語句。+ M" A- D* a7 t, l) P; G! a
redo 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事務;不會出現主從庫不一致問題.% |- I' d1 ]  W% n* r
相關參數(全局&靜態):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控制,稍後解釋,啟用大的事務日誌緩存,可以將完整運行大事務日誌,6 I$ _( L6 ?: m( k* O" C) Z
暫時存放在事務緩存區中,不必(事務提交前)寫入磁盤保存,同時也起到節約磁盤空間占用;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能力足夠支持業務,如充值消費,敏感業務;
' x7 D: l2 T. _
' D- h# l; w) U* D

引入ib_logfile的寫入策略

1、基本概念4 i0 O0 l1 {8 P& L( a
a)、ib_logfile文件個數由innodb_log_files_in_group配置決定,若為2,則在datadir目錄下有兩個文件,命令從0開始,分別為ib_logfile0和ib_logfile.
: O# d7 }# E' `9 I7 kb)、文件為順序寫入,當達到最後一個文件末尾時,會從第一個文件開始順序復用。
* A" Q, z0 V  w' t4 _* r" d6 x. }# ]0 Zc)、lsn: Log Sequence Number,是一個遞增的整數。 Ib_logfile中的每次寫入操作都包含至少1個log,每個log都帶有一個lsn。在內存page修復過程中,只有大於page_lsn的log才會被使用。
' D$ e! ?) I* B. o8 ]3 f- ?d)、lsn的保存在全局變量log_sys中。遞增數值等於每個log的實際內容長度。即如果新增的一個log長度是len,則log_sys->lsn += len.
; T7 o7 |$ P5 R; q3 fe)、ib_logfile每次寫入以512(OS_FILE_LOG_BLOCK_SIZE)字節為單位。實際寫入函數 log_group_write_buf (log/log0log.c)
6 x9 ~; Y5 R5 W$ t, of)、每次寫盤後是否flush,由參數innodb_flush_log_at_trx_commit控制。
. o; j- U  |. x7 A4 O: p
4 V+ H! U+ n$ z# f# G0 ]  z! H8 Z, ^; B2 ]% U' M# G2 V* n* J
2、log_sys介紹$ l* h0 q: w2 U4 L6 V$ a. k
log_sys是一個全局內存結構。以下說明幾個成員的意義。
0 N/ |4 u! Y3 G6 O' i* b

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

+ s3 I  f# c& R9 r/ \* U, T- d
4 E; z3 t5 t2 S$ o' t
9 k( V7 z/ k) H5 u2 l/ k
3、相關更新
& m1 i& m! t5 I" o1 R: s7 s用一個簡單的更新語句來說明log_sys以及ib_logfile的更新內容的過程。假設我們的更新只涉及到非索引的固定長度字段。
! K3 S9 \) }! ~+ I0 aa) 在bufferpool中寫入undo log。 對於一個單一的語句,需要先創建一個undolog頭。. f7 r0 M. P  R+ j8 m
b) 在bufferpool中寫入undo log的實際內容。
7 f5 y' X& _9 K7 Z( C  i$ qc) 在log_sys->buf中寫入buffer page的更新內容。此處保存了更新的完整信息。, `5 ?9 v4 N- w
d) 在log_sys->buf中寫入啟動事務(trx_prepare)的日誌) d/ P. ]$ {* b, A. d
e) 將c、d更新的log內容寫入ib_logfile中。# O$ `& k" ~, e# _# |8 I
f) 在log_sys->buf中寫入事務結束(trx_commit)的日誌
# a  W5 r0 G0 s4 Z* F0 h) _& wg) 將f步驟的log內容寫入ib_logfile中。
" O; y- L$ m2 E( b2 J! l
& \) P, }2 ?5 P3 L0 g  k4、說明4 j' R, a5 s' A' F4 S5 X
a) 完成上述所有操作時,數據文件還沒有更新。; s" \- d& C6 U( W' U0 [/ u
b) 每次寫入log_sys->buf時同時更新lsn和buf_free。 每次寫ib_logfile時同時更新written_to_all_lsn和buf_next_to_write;$ Q( T( {/ e5 w7 C
c) 每次寫ib_logfile時以512字節為對齊,如需寫入600字節,則實際寫入1k。寫到最後一個文件末尾則從第一個文件重復使用。
9 r+ C: `! j3 jd) 從上述流程看到,在a~d過程中若出現異常關閉,由於沒有寫入到磁盤中,因此整個事務放棄;若在e剛完成時出現異常關閉,雖然事務內容已經寫盤,但沒有提交。在重啟恢復的時候,發現這個事務還沒有提交,邏輯上整個事務放棄。 (重啟日誌中會有Found 1 prepared transaction(s) in InnoDB字樣)。在g完成後出現異常關閉,則能夠在重啟恢復中正常提交。$ Z2 X8 A' M$ o/ B& J

9 w2 ^* R' I$ {! u" p3 c$ i4 C在e和f之間會寫mysql的bin-log,若bin-log寫完前異常關閉,事務無效,bin-log寫入成功後,則異常重啟後能夠根據bin-log恢復事務的修改。; q. O2 I1 U' Z- x/ x# D7 k, @

$ N1 ]0 d8 W( de) 若涉及到索引更新,在步驟c之後會增加索引更新的log。由於索引可能有merge過程,因此在merge過程中會另外增加寫入一個log。但事務完全提交仍在步驟g中。索引的更新由於已經寫盤,並不會因此丟失。

 楼主| 发表于 2021-12-15 01:00:07 | 显示全部楼层
ib_logfile0 记录系统的回滚,重做日志。4 L. I" L, y  V& }

% a) ]5 a5 J' d$ Pmysql-bin.000011 系统的所有更新记录。
0 r; A- L7 @/ ~' ?7 V
5 y4 S0 ?5 \" q/ a$ Z& S8 P+ y0 h  J1 J, r# H: |
如果需要更详细的则建议看一下数据库原理方面的教材,应该有一个章节讲这个redo,undo 日志的。
, n: c$ |+ {; @1 n/ V0 x2 d# t: U,ib_logfile0是重做日志,记录的是文件的物理更改         
# Z- |# s6 l$ E% G# w" h; Q6 O0 lmysql-bin.000011是数据库更新日志  记录的是逻辑更改- L( |$ {) `7 F3 \" w' Y4 T

+ O3 p  m' ?# W! F# v* [,
  l2 ~9 a/ o' G) o4 F1 m5 p6 Pib_logfile0是重做日志,也就是 在你修改数据之前,会先把 修改的操作 作为日志先记录下来。
4 r8 p% c1 A$ B+ q        ( [  f% A& t3 j* P% c7 [/ Y
mysql-bin.000011是二进制日志,格式是二进制的,但是这个日志更加有用,比如 在我们做 数据库的主从复制时,这个二进制日志就是关键,mysql会把日志发送到slave,salve会接收日志,然后解析日志,把里面的sql语句重新应用到数据库里,于是就能同步数据了。
8 ]3 t$ r, \: r  _6 i1 p7 D, d& u,ib_logfile0:记录的是redo log和undo log的信息,这里记录的基本是commit之前的数据。
+ ], @1 m6 M- c0 k4 R4 ]+ c$ `; {6 n) I7 |* s/ A0 }# C. s+ v$ J
mysql-bin.000011:记录的是已经执行完毕的对数据库的dml和ddl信息,这里记录的基本是commit之后的数据信息。
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

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

GMT+8, 2026-4-8 13:41 , Processed in 0.059823 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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