21回答

0收藏

深入浅出MySQL 数据库开发 优化与管理维护 第3版 PDF 电子书 X0211

电子书 电子书 185 人阅读 | 21 人回复 | 2024-04-08

Java电子书:深入浅出MySQL 数据库开发 优化与管理维护 第3版 PDF 电子书 Java吧 java8.com! r7 ]# e/ [2 D7 Y3 ]3 i& C8 O

+ J5 T) c; y$ l9 q作者:翟振兴张恒岩崔春华黄荣董骐铭出版社:人民邮电出版社出版时间:2023年02月9 D6 B5 u+ U, [6 D) P

3 s/ m& v+ {$ ~& m9 i
编号:166-Java吧资源免费-X0211【Java吧 java8.com】
. Y" C# \" ?; [4 U& E
& h8 C. y, d9 v3 z
: r8 i- @* j% a
) t8 J+ m; c; H: p9 g3 Y
目录:
2 V/ n* A1 _0 {1 O( S, F, C/ S
第 一部分 基础篇  P5 G" l- f% z8 [2 y/ P* X
- a6 ]8 |! O1 M, D+ W# q5 y+ j
第 1章 MySQL的安装与配置 2! ]0 U! P+ `" I- z
. n) h4 V; _% x  U' }- r2 F3 ]
1.1 MySQL的下载 2/ h) z2 {3 v& \2 m8 o' B: e
4 k  o  J! f2 P6 ~1 ]' o
1.1.1 在Windows平台下下载MySQL 35 b% ~. A+ P4 b+ y
9 G- I0 v! p. |& [$ u0 X) A8 K: X
1.1.2 在Linux平台下下载MySQL 3
5 H+ G9 U8 k, ~( L3 E$ q
$ O8 C0 n3 v: W3 ?; Y9 i2 r9 q- k1.2 MySQL的安装 5
- I6 o+ X* C: Y: ~+ G( }5 A! u. \- b- P  C/ {0 J% q
1.2.1 在Windows平台下安装MySQL 5
! C6 w3 E- r# |3 K9 V/ ~, L
, |8 E# Z3 L$ ?4 u) `( S1.2.2 在Linux平台下安装MySQL 8
3 f+ V  o& ]. K- E7 O6 K3 d
( F4 P* S5 C2 t' u7 l% T1.3 MySQL的配置 120 ?1 J* N. W; z& G
" t% n) e: I. s2 {' v: }5 L
1.3.1 Windows平台下配置MySQL 126 T1 i) t% \7 E& z; w
/ y  c: x- \% S# v' b
1.3.2 Linux平台下配置MySQL 139 d4 v- d0 L" b# n& y0 Q' V6 j# J
1 }: v2 N5 F1 C7 @3 X$ Q# b) P
1.4 启动和关闭MySQL服务 13
2 u# h& W! l; e4 k4 L2 ?/ f4 C* x
, j- @2 @1 x- ^8 l- p) W1.4.1 在Windows平台下启动和关闭MySQL服务 13
9 L% I. n; D/ L% Y/ C8 h! f3 _+ e
& E  p; S  J! O, N/ N& ~8 G( h# D1.4.2 在Linux平台下启动和关闭MySQL服务 13
6 s2 V* S& ^. F- z1 v% `6 v' S: U$ r" `. w! f5 H5 U/ l9 _
1.5 小结 14) i: Y1 `6 O+ t( [& g, D# [
6 j  B% d9 V. J/ H& q! P5 D* p
第 2章 SQL基础 15
' }4 {8 n# w, A2 e- w  t1 Q4 d6 T6 o2 ]- h6 I: D) v
2.1 SQL简介 15
1 l* ~3 A: z2 X3 H5 o0 V- E# D8 {; D! z2 e
2.2 (My)SQL使用入门 15
, t+ x9 \+ t* T+ j+ I: R1 Z% q2 k" R. Z/ A- u5 n( k2 H) O" ~
2.2.1 SQL分类 150 _4 ]3 }6 m3 T' j% C

4 M; |3 d* }* U$ Y+ `/ ?9 q6 w' ^2.2.2 DDL语句 16
, w6 |; C0 N6 N" l/ M3 Y; G1 a7 X( `, N
2.2.3 DML语句 23
# {3 v1 h, z7 x* _8 C" F
  F6 @; X5 |% ?! p7 T7 q2.2.4 DCL语句 33
5 G8 }" i( a0 S) h6 ~$ _4 C3 o* _( Z2 ~; P+ P- m) q/ H
2.3 帮助的使用 34, Q' C  W/ h- Q; f4 T0 P; U8 Q
) v& o( h/ n. b  W0 X
2.3.1 按照层次看帮助 34; o$ Z, b. {8 V6 D9 U
# l  Z" t$ {$ @0 |, J7 r0 _
2.3.2 快速查阅帮助 352 [0 o, p! H% t, {
1 W+ s" n( L' j% u3 P
2.4 查询元数据信息 368 L9 C9 a8 N1 T: h8 [
9 e- i9 t8 H  H. |6 o
2.5 小结 37) r) F- A9 q- ?$ g& W/ @

+ W& j6 z7 ?9 m3 s% v) j; `9 }1 N, i第3章 MySQL支持的数据类型 38" d0 R6 ?* L) H1 H

/ m/ s8 F. E. }; ^; K. g/ {2 Z3.1 数值类型 38
6 G* S, F7 e8 U7 R5 x3 ~2 v
6 @: R& X8 }% E' q; p: o3.2 日期时间类型 43
( X2 h. e: i4 N  z) F6 T
" m" I: c. C/ S  M. R2 d3.3 字符串类型 49$ h2 K. N* M5 P2 x; |' h1 M
  c' `( @! {; K# d  A" z
3.3.1 CHAR和VARCHAR类型 50
$ C  B2 o! `* j# Q6 s' p1 G* J) `* {
3.3.2 BINARY和VARBINARY类型 51
: v5 o3 D4 n# {& M
+ ~- ~3 W  l$ B4 b( J* \* u3.3.3 ENUM类型 51
5 \+ d: s, s( @  o4 S( b- T+ f/ O5 V  G9 v2 @
3.3.4 SET类型 52* v% w; [0 k4 F+ b. z. C9 y9 p
" Q# Y# u% L1 u$ u% r4 N9 {
3.4 JSON类型 52' y( W: l9 J& E2 q  L1 G

- P3 ?. R1 G- k1 e3.5 小结 54! e3 A( h4 L5 s

0 B5 a' e6 W# F第4章 MySQL中的运算符 55
- a0 h5 v0 a3 r1 K+ G' h9 v4 I- K# }. W- u
4.1 算术运算符 55
; G3 {0 t" ]3 T5 u- s
/ B- _+ `4 U% a. K0 c. r4.2 比较运算符 56
9 v6 o) \& `0 w0 a& t% m$ D' f- t! n/ n9 D/ ?" p/ Q
4.3 逻辑运算符 59( u2 ?5 \# K* g: a* Z% v
6 |# r& ]+ n5 [& t
4.4 位运算符 60
2 o. `' A" j* ?. R  [* B/ f% n/ N4 a. m4 [; p3 ]
4.5 运算符的优先级 61
# z( R. g; M- _3 P- b. E+ K4 X2 C: K
) Q6 t8 g: I' x: u/ y: U4.6 小结 62
1 d& N$ c$ X1 v4 r9 N+ z' g0 K  ^! l% V. Q& r
第5章 常用函数 63
, ?% `8 E' `. X6 l: W" ~7 {6 y: [: g9 }* U
5.1 字符串函数 63
2 P# ]7 G) n& s0 s0 ?
0 {/ T' C$ b, I( s* I% r, S' c5.2 数值函数 66
% Q. |$ n4 K) M' R, A8 d( X
( b  {4 M1 d% L9 v4 w8 s! a. Z, S5.3 日期和时间函数 68
0 {& M$ Y+ b4 q& Q1 u; o$ B4 s; k# P
5.4 流程函数 71# M) x( l/ K$ [9 }
& C+ Z7 j& ^: A
5.5 JSON函数 73
8 X, {0 Q$ e8 L
4 n5 [; V2 ^: a4 ]5.5.1 创建JSON函数 74
, F" y: {# |$ c) m/ c- b0 B( G- e8 Q
6 t1 t8 \) j; M% x/ ~! D5.5.2 查询JSON函数 75; a9 O  E4 w$ D& e0 F& A7 `9 `3 X

# k! x; u6 y; s5.5.3 修改JSON的函数 79
' t$ M" V9 @  o8 c5 |
  ^8 v3 H4 `' z) o! d5.5.4 查询JSON元数据函数 81
+ |6 b6 L) A, P' W) Q8 E- \/ J* ^: h" i( A0 [: i9 y  }( \
5.5.5 JSON工具函数 832 g& q3 [; w! G

3 T1 W8 P4 j! N' ~5.6 窗口函数 86
/ r. C4 e6 k7 ?+ {, g
: m; I. L, G+ \1 o* G5.6.1 ROW_NUMBER() 87
8 g2 l6 _: F4 w( D6 p/ u' V8 e
$ E! k* ^5 n" q/ a: q% A5.6.2 RANK()/DENSE_RANK() 89- E* A) N/ o# R6 X

1 c9 P5 X  @) h; h- F5.6.3 PERCENT_RANK()/CUME_DIST() 899 V# }/ p. v% Z7 [0 v  d
0 Y% d' t- H; T# {8 v& [5 U: s
5.6.4 NFILE(N) 905 F$ h4 N3 X( V6 _2 X9 [1 z7 q
8 F% o! K% n& W$ o% K
5.6.5 NTH_VALUE(expr,N) 91
( U+ v: ?; c" r! a* n7 u
* V" [, p: X1 E! A5.6.6 LAG(expr,N)/LEAD(expr,N) 91) \5 [# I$ t0 m. U4 e

0 z$ l# Q+ f" ~) ?5.6.7 FIRST_VALUE(expr)/LAST_VALUE(expr) 92) x- L8 [) S9 a7 @

$ A9 X  ]6 o7 R1 B, c5.6.8 聚合函数作为窗口函数 93/ P8 g- x9 x. F: L, a

: O5 C+ {4 ~+ Q5 U% \2 X5.7 其他常用函数 938 j: d$ p2 {5 _
& ]5 w0 f: ~# y  `: B) G' D% O2 M
5.8 小结 95
! h+ r7 f/ ?. A/ [1 h( c2 c' M' O0 J/ \0 n0 F, j
第二部分 开发篇
) n+ U) M7 k6 M9 h& M! X. z# o7 T; R  v; K" I
第6章 表类型(存储引擎)的选择 98: O4 }2 {8 o+ S0 E3 `2 _

. i$ J2 M: @/ m' i: y9 m6 S2 V6.1 MySQL存储引擎概述 98* H1 E- X0 Z$ @# \- ]
4 P: o  F# C2 z7 ~6 b8 t7 W
6.2 各种存储引擎的特性 100# a( n6 R5 A8 Z* r8 Q" `( W0 X' J
5 l2 ^1 f0 v. E" m& N" ~# R" C; ^
6.2.1 MyISAM 101  i% F- S4 c5 Z6 {  }) ~5 ^

6 C' Q. k  X  Z6.2.2 InnoDB 102: U3 U+ R; U7 Y& N& ?' y

* z5 K) d7 h$ E- m$ D7 N6.2.3 MEMORY 108
( ?' j/ H" ?& _/ m. D, W" `% d3 A
6.2.4 MERGE 109
1 Y+ \+ [. v: }3 R( J# V. D9 H0 T6 Y/ n9 B! ?3 e
6.2.5 TokuDB 111
  Y3 ^/ i+ ^3 x+ m: y$ [1 z3 {" B. q/ c0 h1 ]) ^* ~4 m8 |+ p
6.3 如何选择合适的存储引擎 112
( p2 u8 ]2 k6 ?! g" t3 b5 S) ^' }& W- J+ Y& |4 H& D* W
6.4 小结 113; r  ?/ d1 C. u4 V
2 `% @! z$ A0 b; g3 `
第7章 选择合适的数据类型 1147 Z! O- g+ F. ~! L- O/ v

0 E9 F. o' K( H3 s! F5 p7.1 CHAR与VARCHAR 114
9 k( w* L! r- g& J& M; F/ g  P1 X  U4 q& T
7.2 TEXT与BLOB 115
0 {) O# s* Z/ `/ O9 k) u8 A6 K! m4 ?8 K" y' o
7.3 浮点数与定点数 118$ o# G6 \1 G9 z8 z1 w/ g" C
* @* `( V3 l: \' m* Q3 \* i
7.4 日期类型选择 120
2 J0 o/ O9 E3 b8 \2 h, R7 |
; E# o! S# H$ T7.5 小结 120
! T; Y' [; y; w6 m0 b: S
, v$ B8 L) O* P( e第8章 字符集 121
* O$ }% T* U4 r- |+ F. m; X7 L3 ^+ J/ B% l* M' z
8.1 字符集概述 121' ^: Y5 o6 I& D/ ?/ C

5 ]: T/ h- k5 B$ N/ w  v$ Z% y; G8.2 Unicode简述 121
" v# ?' y. x7 ~' J" ~
, O2 b+ {! R2 [1 v7 `" l; ^8.3 汉字及一些常见字符集 123
' s/ Z1 ^, Z: n1 G
2 E/ w) }0 ^5 x5 M# p- ]6 n8.4 怎样选择合适的字符集 124
! K! m1 O* s+ B; G/ J
  \3 V1 C! \6 F3 E- R* X8.5 MySQL支持的字符集简介 125
+ {4 ?0 Z9 L' Z" t
* N2 a$ i7 C0 p  V$ |- V8.6 MySQL字符集的设置 126
! e# G- G. ~9 i- K% |" ]. |1 X" w, {' W( E- k1 \
8.6.1 服务器字符集和排序规则 1267 _. R; W  q4 ]
/ w& x0 M5 m" \% u1 B% C
8.6.2 数据库字符集和排序规则 127- s" ~$ W# |3 w% ~; q: S' ~/ W6 B
" [3 F% D4 X) A: Y$ G
8.6.3 表字符集和排序规则 1275 {0 J' U5 D0 k9 ]" [& f
, m0 s! e* I7 A- U; i% V  p/ X
8.6.4 列字符集和排序规则 128
9 s0 p# X4 `) g$ X. F+ G6 u
% s" L; k$ ~& z( O: E/ e( r% l/ O- D8.6.5 连接字符集和排序规则 128
+ M  w( n4 C7 n6 p3 [2 Q- u7 z7 F; a, y1 [# M7 z
8.7 字符集的修改步骤 129/ A& B0 P, i- S: h/ r* o: s
: i  {5 Y/ S( A) Z  J& q
8.8 小结 129
. {* v5 V9 A& O  ]* p
. I1 o! `* _) f0 F7 ^* ~! u2 H第9章 索引的设计和使用 130. F; r1 p) ^  P5 v3 E8 a+ y
* J$ C4 N5 `* y- E9 V. w
9.1 索引概述 130& `' L* ?0 }' H' i. L

7 ]+ e5 ]: b: T5 S( y9.2 设计索引的原则 131
( U! G+ k& _& [" n
6 g9 Y' u, }& f& C0 s% k9.3 索引设计的误区 132- p6 e) o% X! X9 ]$ M3 W  E6 Q. F

: l' G7 Q% w+ {4 y( B9.4 索引设计的一般步骤 1321 Z& G" \9 K& Z9 l

/ A/ Z. s6 l3 G9.5 BTREE索引与HASH索引 133
  O) W6 E" t7 E! }# U4 T' n+ k* U0 v% G$ ^$ K
9.6 索引在MySQL 8.0中的改进 134
8 p, x9 {: R5 [. ~* H* f6 O5 g: v
+ i" x7 S, B; g0 T9.6.1 不可见索引 134
5 a; A8 y5 a% l2 g
1 v; i& X  P. B5 V/ e6 Q# T9.6.2 倒序索引 135
- I0 |+ h+ H9 S( C( T$ k1 t% C% U6 I
9.7 小结 136( \, G' c. W# u; i

$ f; i6 ?8 f$ x! H  @2 n第 10章 开发常用数据库对象 137
5 x4 ?& i5 Y7 N( ]4 O- F- g
/ a8 c! F. |$ }10.1 视图 1376 l. \' z& C7 {2 o1 w

& i) m' j3 e! L( ~" S( w& @- I10.1.1 什么是视图 137
& N/ W; e0 O# b1 Y7 x
; A; u( M3 K7 ~3 N: |9 `& t10.1.2 视图操作 137
" [2 o$ Z& {( j
+ a, d1 @7 u7 ?# ~4 {10.1.3 创建或者修改视图 1370 g- x6 b( K* `+ s6 _0 e, S! f& F
1 G: A) f/ g# |; m/ ^6 W7 _( v
10.1.4 删除视图 139/ y# V+ h) Z" m( d% W

7 o/ X% s  a& H! |0 s( \10.1.5 查看视图 139
7 }8 E: R* M- w9 c4 y$ u) N9 |4 W" x2 u$ m( m. k$ i1 n
10.2 存储过程和函数 140
! U8 R2 i* u9 r* b, N
, |+ A1 S2 v  V; F" J8 z' R" V10.2.1 什么是存储过程和函数 141- ?% P4 k! c. M) [2 _1 M5 ^) u
# ^6 R: m" `: c8 [7 S/ m2 e8 G+ o) `
10.2.2 存储过程和函数的相关操作 141
; X8 x: P5 n) U2 k8 d. p3 i
7 m# }( N4 b! Q  K' M& ?% T! T10.2.3 创建、修改存储过程或者函数 141, H/ e/ I) o7 _; `+ Y: p& z: y
% @! m; j) [+ h/ p4 D
10.2.4 删除存储过程或者函数 144
5 j& O6 l+ M2 |
/ M: u3 d8 \% p2 q3 O9 b; [0 R10.2.5 查看存储过程或者函数 144
" A$ g; y+ t# y$ i
0 |: O( I5 L. P+ H10.2.6 变量的使用 146' G' A: ?2 Y8 j( h  ?' H" b; F
& s0 Z0 ]! V; v8 z4 K+ i% n
10.2.7 定义条件和处理 146
9 Z$ P$ e9 N- p) d% O; F$ p: A$ ]8 S
10.2.8 光标的使用 148
5 t  b% N$ n3 [- v# `. e# w+ y! `% S6 G) J
10.2.9 流程控制 149. C; Q( b, E7 ?, }& S) }
* u) b9 d: E' @) H
10.2.10 事件调度器 152# f& w0 ^  V9 I6 T
- L2 w9 a* j; A8 L& S
10.3 触发器 1558 w4 m& z. a& q/ m3 S8 n  z4 h

5 X* K, _+ ~; R/ r; ~10.3.1 创建触发器 155, m0 @" C  K( \% [1 P3 ]2 z* `
$ `5 ~1 J" P! E! n& E, h
10.3.2 删除触发器 157
) C; |. F: w. I) Z3 i! f) S2 I
4 X/ z+ p/ a- h- a" x10.3.3 查看触发器 157
" }! k5 U9 ~, [4 |6 i/ T& b
/ |; V; c3 R3 Z7 @' P- k10.3.4 触发器的使用 1583 ?! Q$ T; h% F

9 ]# L7 _; }) H% M1 ~10.4 小结 159
* y, s& C" L4 t1 C2 z' w2 f/ O/ \2 u8 k: M
第 11章 事务控制和锁定语句 160
/ Y3 C, {( E) ?
$ s" i; W( o! Q" U11.1 LOCK TABLES和UNLOCK TABLES 160& M; p2 f, ]! f, ]7 f! ]

4 X5 {* f, e. B$ p11.2 事务控制 161  ?5 p8 U0 [3 g$ Z
# w8 N6 P1 h+ i! M. U
11.3 分布式事务的使用 166
. F4 ?8 Y( W# v+ ]: Z
9 E  H9 C/ D3 s3 y2 }) g% M' {11.3.1 分布式事务的原理 166( }7 k* ~, h7 Y
2 _8 b$ O. C( ^# q
11.3.2 分布式事务的语法 166! ^4 c7 f) k8 a. u

8 @6 K: w4 K" o' i7 o11.3.3 存在的问题 168/ @/ B3 M0 L% ]' K6 l  e9 P2 K9 i

) w% s$ N1 q  K11.4 小结 171/ }  y; M* n+ a7 A# }: y5 Y$ r
$ o6 ?) o( h: _- V) n" k. }( _
第 12章 SQL中的安全问题 172  Y" @- K# q0 J3 A
7 I3 f3 S. a- B, }
12.1 SQL注入简介 172
0 W, M0 y7 h4 e1 u% a0 s7 f* P
; ]8 C' E+ w' j8 i$ J6 A' \12.2 应用开发中可以采取的应对措施 173' D* b  W' a* H

2 M1 D! u% D- j9 @6 j) A12.2.1 PrepareStatement+Bind-Variable 1732 d8 ]2 b- v$ ]& o2 b+ F
; r: N  g# h% A+ E/ ^) k" V
12.2.2 使用应用程序提供的转换函数 174
7 `8 i) _- A2 ?+ F: V5 g4 L7 i; G7 w# S) v
12.2.3 自己定义函数进行校验 174& O) l# o' V5 v1 i4 W* e

$ P/ x2 @3 l8 S5 |/ ?7 p12.3 小结 175, U8 I) \  Y: o# w
1 ]0 v5 j0 e( l( ?& y9 a$ F1 q
第 13章 SQL Mode及相关问题 176
  U5 K4 T& K& T  Z2 N
* O/ f2 A. X4 M1 v13.1 MySQL SQL Mode简介 176% L5 }: s: L! d: o) u

% [& o; C7 x$ D" x  X% a, k13.2 SQL Mode的常见功能 178
' M# L5 w- b0 }9 b$ ~, l# O  w2 P; u/ v9 p5 H4 ~8 r
13.3 常用的SQL Mode 1809 \; b$ ?* L0 C0 A( }
+ b% n9 d) z  J, s1 g' p: T
13.4 SQL Mode在迁移中如何使用 1824 W2 v5 f% `$ A$ M& ^" n

( s9 G( D7 n+ I  ]8 `7 f13.5 小结 183. w8 `$ ?+ ~, f* t5 ~1 Z
1 Y0 L4 d0 Y: J1 R* Y
第 14章 MySQL分区 184/ ~; L6 H5 P% k2 ^' ~7 G+ e

# E! z- z% x! d- r14.1 分区概述 184
6 ~# ~0 W9 M; ]3 A' d
7 q( t3 `' A) N4 H) t8 r14.2 分区类型 1856 L% B/ x1 }6 {% m" k) G, K# j' O) Q

- z+ ?/ F- n+ [+ t8 K14.2.1 RANGE分区 187/ z* X, m  y: D* Q5 D& |. I' j% ^

9 g* Q+ X) ~+ O" L2 ?% a2 p2 E14.2.2 LIST 分区 188
# J$ S& b: S: c( u! b0 u! \9 V$ F! d6 |9 Z
14.2.3 COLUMNS 分区 189) c; |" A( F; H' K- L
. R" b9 \( `& B( A$ e8 @
14.2.4 HASH分区 192
1 u3 b& Q0 B6 v( j0 u* v/ C! j# b5 T8 b
14.2.5 KEY分区 195
* s; `/ K5 i4 f5 a' H. M9 [
1 D6 K! y1 H% U4 G5 a( Q14.2.6 子分区 196# d" q2 {" {2 c2 P* m- s
+ x% T2 Q+ b! R' ]
14.2.7 MySQL分区处理NULL值的方式 197# v% |1 n. {. O- a/ P! E! o+ A$ r9 u
" t1 u3 b, e0 t" v& C/ f
14.3 分区管理 199
1 Y) m/ @- Q1 {: x  r  F0 p: C) [9 [- K& L/ u% t0 Y- p. H
14.3.1 RANGE与LIST分区管理 199" j7 K8 U. m5 c9 P' I" f9 c

5 J8 \- L- `, w& t0 z6 l' y) w# m14.3.2 HASH与KEY分区管理 205
9 _2 _) o( t8 |9 a/ A! g0 o, R: \  w! {  D! f/ ?
14.3.3 交换分区 206- [+ S. o6 L! b1 P5 I1 _
$ {+ m; J" h& U, e. v0 G& t
14.4 小结 208" a+ G. o; s$ u4 J$ X

7 t$ b2 ], |7 C第三部分 优化篇
8 u+ j) l2 J0 O' v$ P
1 `2 ?! C- }- L& P第 15章 SQL优化 210, h, w5 z, e& B8 ~7 G( J
7 i+ n/ L5 ~: W* Q: S: X
15.1 优化SQL语句的一般步骤 210
! G# \9 V% x/ k1 `( j7 [+ q+ [6 `- `- {3 a: S9 t9 z- J& S
15.1.1 通过show status命令了解各种SQL的执行频率 210. ]' j% ~6 i. ~, D: M# O+ d; r

$ s' e6 B0 E$ A! q6 B$ U) Q' {5 t15.1.2 定位执行效率较低的SQL语句 211  U7 M* t8 G5 t2 L- u0 W+ p
$ A: ]7 J% Q0 c6 L& O2 P
15.1.3 通过EXPLAIN分析低效SQL的执行计划 211
& f% }: A7 p3 s4 `2 p6 K/ l+ }
6 S/ ~+ v; c( }+ x* i15.1.4 通过show profile分析SQL 216
8 B3 a6 `( A! M2 K  E) w
& M3 @, t! z# @% V# _1 m, o15.1.5 通过trace分析优化器如何选择执行计划 219) T" V3 s% [$ Q

. j  o$ U# R7 @+ l8 m15.1.6 确定问题并采取相应的优化措施 220
% e; F! ?- _# J9 V" d
. k( ~+ b7 K7 E4 A" ]% x15.2 索引问题 220
. x+ x. U) f9 t2 e1 w3 P) ?8 G! \4 b6 S* z6 Y# x3 S! `
15.2.1 索引的存储分类 220
' h0 Q! D. A6 q5 J" C7 Y9 W3 y6 @) x* c1 l
15.2.2 MySQL如何使用索引 2220 J% {8 c& l) n7 m* D, ]. r
0 ~/ ]+ u7 \+ W/ O- P
15.2.3 查看索引使用情况 2318 N: t4 P1 o: T9 |/ C
& `, r! Y# p4 l7 p; P9 N7 v1 c. s
15.3 两个简单实用的优化方法 231
8 n3 I5 S9 j& I! j! Q" B
& H& H  ^2 n; l8 V: a4 j15.3.1 定期分析表和检查表 232+ z- `6 G; w% R3 R
5 d9 @+ M: u2 H; i+ l+ D: P
15.3.2 定期优化表 233
# e* l4 z  ?# O; z5 g  d
' w$ p" X' |/ D8 v% E* X15.4 常用SQL的优化 233
4 a+ v  V: K+ Z" s5 |$ b# Y
- z5 _6 k! u8 |0 d9 I15.4.1 大批量插入数据 234
5 ]$ [5 y, }9 [& R: x
$ O+ k) @6 O. o15.4.2 优化INSERT语句 235' |! N7 s$ C8 Y! T: ]

2 w' ]2 ^! P& Q4 R5 j15.4.3 优化ORDER BY语句 235
$ M2 U7 m# A+ ^1 u2 |$ ?& \. i; X; Q. z
15.4.4 优化GROUP BY语句 239. I. B7 h( _$ E) Y
+ M0 @9 W9 d3 Z
15.4.5 优化JOIN操作 239
2 B2 X; f; A! T+ a/ {$ V3 M7 [& L; D- I$ Z
15.4.6 优化嵌套查询 243
# ^& v( d  a& s6 i
0 T; p# ]: R' r2 {15.4.7 MySQL如何优化OR条件 2459 F& C  d+ u- O% a  H) S

+ u# x5 X3 {4 ?) U0 S  w1 p/ }2 u4 G$ G15.4.8 优化分页查询 246) K  z8 z" P# N4 ?# c& R
+ _9 q. ^4 T  w+ w8 g* |' f
15.4.9 使用SQL提示 2487 l$ i; g' [" H# c

6 K/ i, j" D5 b( G. L/ T6 O15.5 直方图 250
) f  G" A% U$ C7 M1 H& R2 U6 r; z9 U/ ?$ C
15.5.1 什么是直方图 250
1 P  A" `: q% j) ~% J0 R4 _# L* e. R  Y, S
15.5.2 直方图的分类 251
0 d# h, H7 Y+ M3 u' m* L! {2 [4 {" C# O( A# y
15.5.3 直方图实例应用 252) i) j# j5 Y0 U. s& s

# V5 G3 e, G! Z0 k/ p( L7 k15.5.4 直方图小结 256
' Z8 S8 t. J7 D' W9 n4 [( P6 l8 M
15.6 使用查询重写 256' W5 k* u4 I0 i# S, b2 z) O

) U# n' f; u" e9 ~! V15.7 常用SQL技巧 259
0 E- b$ Z8 S  l8 B4 R/ ^, }
, ~5 {& ~2 t( d; Y  G, X15.7.1 正则表达式的使用 259" b4 ?0 J( n, i- Q8 L' b, e
6 d+ Y* c3 P! c/ l$ v
15.7.2 巧用RAND()提取随机行 261* |7 u1 |! k3 e! e1 ~, \% i! W( l/ |( z

3 ?* Y$ R) w: M; }5 C8 z15.7.3 利用GROUP BY的WITH ROLLUP子句 262
) a3 m; c7 r% B7 a% o/ \% e% Y& Y2 z- x$ B5 a3 [+ Q) s
15.7.4 用BIT GROUP FUNCTIONS做统计 263
* u+ I8 U2 Q. n: ^( x) s" {1 K: Z, {* q7 X+ |- s9 r
15.7.5 数据库名、表名大小写问题 265
+ D/ e5 \2 _* C% v  d  K7 f1 E( T! x8 f
" A8 }% |" L: w/ L, m/ i15.7.6 使用外键需要注意的问题 265
+ u2 T/ p) Z# G! r5 F
$ F; ~$ @6 s7 O4 P$ V+ O15.8 小结 2664 g7 C0 `. u/ C  M

) a  F5 ~4 c7 V+ P6 }第 16章 锁问题 267
" K$ r4 m6 s) ^: i. ~& k
7 F- X) K9 o- G6 r4 }8 @16.1 MySQL锁概述 2671 x5 J7 p2 k" j2 E* {, g
# V# c2 Z! K- L" F  `
16.2 MyISAM表锁 2685 _$ g" b  b0 `0 o+ _

7 c  G: s0 ?& x$ }' r2 F16.2.1 查询表级锁争用情况 268
* u7 |+ Y: h6 i& v( L* u; s* c# E% F" ]* `) J# l2 {
16.2.2 MySQL表级锁的锁模式 268
: v: Q3 @1 |) C3 k+ U3 U# H$ }* z6 [7 }
16.2.3 如何加表锁 269, X# a6 l/ X; S2 Q
. C+ s$ k; k; m5 \/ k# j; A
16.2.4 并发插入(Concurrent Inserts) 271: w. L" u2 ]1 b8 [/ W

) {" z3 P  w" A5 A8 u16.2.5 MyISAM的锁调度 2721 @# k% F5 Q' ]) t. }# P4 j
4 R6 V( C  {1 R) n5 ^
16.3 InnoDB锁问题 273' X& R3 N2 \) H) B* X1 d& u1 F

& s" x; n8 Q* a9 W1 p# _16.3.1 背景知识 273
/ m* ]$ l9 a7 D7 H4 V- Z3 s& w7 P. v) K1 `2 l% S( A& ]
16.3.2 获取InnoDB行锁争用情况 2759 M# K* L; `8 D# D& L
: N: m+ x! S8 n$ M2 Q$ f
16.3.3 InnoDB的行锁模式及加锁方法 276
7 S9 |5 Y6 o2 |. Y, U% H
: e# P0 u+ V: T, \16.3.4 InnoDB行锁实现方式 279
7 s% B6 h6 H6 u. _# V- s( n( ~+ `5 C3 }6 N
16.3.5 Next-Key锁 283
- {! O( e. X" R1 {& ~. E0 B% O  x6 ]3 Z, |
16.3.6 恢复和复制的需要,对InnoDB锁机制的影响 284
6 a# E! e/ `4 f6 I1 m. N4 ?
# Y& c! j5 h' j5 \16.3.7 InnoDB在不同隔离级别下的一致性读及锁的差异 287
$ g3 u% u2 Q$ V% K2 P) o# O6 s  s' h7 N- I0 m- E
16.3.8 什么时候使用表锁 288, {( i/ W' o. k/ ^2 ^, [

& h" O) S6 l' A3 k& M: v2 m) ~16.3.9 关于死锁 289! c5 a" h" V' c4 I

( j1 |$ s8 s9 S, }; z2 z16.4 小结 294
. w( J$ \; U# Q' r* g
& G$ ]' |+ G: n- N( \5 u第 17章 优化MySQL Server 296
, _- A$ q1 S3 o6 `$ d3 `; h
( u  d5 `4 Y4 u" v$ T0 V3 V* s17.1 MySQL体系结构概览 2968 q# p; e% `# a5 C$ A

3 x$ p# d8 ^0 _+ a5 {' ^17.2 MySQL内存管理及优化 298( }6 E& p. w- g

4 A( o# i* C' z* }4 a17.2.1 内存优化原则 298
1 r, W3 q! }( ?& d7 D& x/ O; j9 {$ K
17.2.2 MyISAM内存优化 2988 H0 O/ k2 F- ]9 I

% A/ Y! Z: i2 ~" p17.2.3 InnoDB内存优化 301
/ o0 G! z! q( i$ _& B" ?( {5 V" b) T
6 \) W. `1 A6 j% x. F17.2.4 调整用户服务线程排序缓存区 305
9 }: |/ P; k& @2 |# E0 \! l# q* @, h, M0 J7 T
17.3 InnoDB log机制及优化 305% t$ R0 W& i4 S! |- v* U
  l# `  I0 ~, d2 K/ ~
17.3.1 InnoDB重做日志 305
+ k7 t' k7 m  e$ O4 d0 f- v# Q
1 n) H* ?+ Q+ o7 Q9 ^+ D% @- l17.3.2 innodb_flush_log_at_trx_commit的设置 306+ \7 o! S  u) B+ e, b% c$ ^
( f3 F" m& L5 x' h6 y
17.3.3 设置log file size,控制检查点 307
# E) e# ^! O1 q5 ?) |5 ?, k% l
: B; R! {  N7 ^, [) o17.3.4 调整innodb_log_buffer_size 308! D7 F+ x4 y9 D: N$ V% g
: J/ l; m. R2 T) z. u
17.4 调整MySQL并发相关的参数 3082 ~5 Q2 |5 r. E8 G) X" @& W- m  y
* y+ Q- D8 W! r, j
17.4.1 调整max_connections,提高并发连接 3081 e% E; O  B! i' f: P

  @$ J" q# m5 X1 J17.4.2 调整back_log 309$ s- z  s5 g; L7 \$ s5 T- |9 Z0 c* o
" P% t! J/ a3 q/ Y" `" b( L. `8 N5 {
17.4.3 调整table_open_cache 309
7 P# _8 B9 r: W1 ?. r- s& p+ j. F. x/ i' K. B* e
17.4.4 调整thread_cache_size 309
% L8 G' |4 y( w- \& W$ n8 [
) E* q7 Y! G  Z$ M7 g17.4.5 innodb_lock_wait_timeout的设置 309' g( r" G* F& O9 K1 g7 _- ~
- C( F2 j5 b+ J) K0 X
17.5 持久化全局变量 309! Q' k4 L3 ~: n# r
* r! |( U: A4 c) o
17.6 使用资源组 310
+ M2 U3 S6 w% W/ l6 ]- `. D1 Z+ v( N7 J8 H+ j/ w5 ?
17.7 小结 312
3 n$ q$ A  x! |; J; s4 X% n* O4 G
& I! |$ ?; @; K: z第 18章 磁盘I/O问题 313  S% o& t1 [9 p1 r) D1 ]
8 a0 e* T/ }9 F: g0 u' M6 g
18.1 使用固态硬盘 3139 M. A/ o' O& v
4 z( D6 Y' ~+ J- k1 _( T: ^5 s
18.2 使用磁盘阵列 314
8 D0 }4 Q* X- s8 X4 R' y, d6 H5 ^- @! `( M! z
18.2.1 常见RAID级别及其特性 314
, a0 \! b( i  N$ s* m
+ n' |# ~, t- v" l  v! z18.2.2 如何选择RAID级别 315  n" I( q2 M* F# G* e

; k; w/ ?& _7 T9 V; c9 x18.3 虚拟文件卷或软RAID 315
, b7 M, R  h7 Q
9 z; i) G2 ~1 }. `7 W' w  @+ M18.4 使用Symbolic Links分布I/O 3154 D# I' W/ u  E' g4 n- |% J
# @3 g+ Z3 T" ^, {5 Y
18.5 禁止操作系统更新文件的atime属性 3168 C3 ~3 H; L5 H# M; C: `
9 a: c4 @) s6 n4 U+ h( [4 F
18.6 调整I/O调度算法 316* L( G. c3 k9 x+ t7 F  Z

4 g( ^% n- H0 k# m- S% m' A% j18.7 RAID卡电池充放电问题 318
6 f( h8 R3 B! R" m  n, @& ]: i, n- ^. z3 X8 t
18.7.1 什么是RAID卡电池充放电 318
; o# V* f& G# j( m* h% J, c0 I" i6 F6 g; K. q) H
18.7.2 RAID卡缓存策略 319) j! Z" _* r" f+ e

4 i8 L7 @  {6 A* i- U" _- t18.7.3 如何应对RAID卡电池充放电带来的I/O性能波动 321: G9 E; I1 l: r, r4 \7 P& i
* \) @7 L  w' f; f2 Q' f# m
18.8 NUMA架构优化 322
- ?9 F. [8 i  C  x& S  |4 O  u9 {; T8 i
. m# ?+ ~4 a2 e3 J; f18.9 小结 325$ x. B# n+ L, v# g" C
! f# H! \! p( o. G# V, o/ S
第 19章 应用优化 326
: |  B/ `+ P8 G: K% G: V* U$ c6 o7 ^
) b; i( p; u8 ]7 f6 J% E19.1 优化数据表的设计 326
9 \# g' M- D. D. r( r$ a3 H5 }2 L' w% `' V. |( |, E
19.1.1 优化表的数据类型 326
) }4 w# y4 I: F* N5 m# h# C2 d6 Y; K. `: s% G9 \: N
19.1.2 通过拆分提高表的访问效率 328* Y6 Z6 [! y" g. I# [% V6 B% |

' y' j! K3 u4 w- D: s& g19.1.3 逆规范化 329
- b. z4 i  y% E2 O+ Z
4 i5 n/ u! U+ H& N5 m& X19.2 数据库应用优化 3309 w- g3 Z0 n6 Y4 X+ q" e0 O

2 ~; h) s/ W. V: l- ?( b% i, z19.2.1 使用连接池 330
8 u0 B/ j! c7 @8 y% g
/ _; a- I5 Z6 \+ s; [& E; f: P19.2.2 减少对MySQL的访问 330
' v% b4 e2 O* j, [& C" [! l: \8 }2 W! C/ y2 X" Z
19.2.3 负载均衡 331
0 i) C: N( ?9 O; b( a' a
1 s5 @; T6 G/ D- |' k. x' @0 o9 z19.3 小结 331
. w) F9 p: o# ]. O6 p* l
. @- r* N" \' ?" Q第 20章 PS/SYS数据库 332. c  V) e$ ~, P, g4 U  T; N+ ?

; X& {( e0 ^' k, A20.1 Performance Schema库 332: {$ |& [" p2 N* S; d6 O
6 g8 B  R& V- L" g$ q2 ~! h
20.1.1 如何开启PS库 332
7 o6 y# q( u5 t- j" s+ |, C/ c
$ u/ b, G) M' y+ L8 w- h2 |1 g20.1.2 PS库的表 3338 f3 \7 N  L8 _# z, e# g( c' K
( W6 }4 u' o* o6 _8 O/ A: o
20.2 SYS 库 335; ~7 t4 A4 z# x7 }9 G7 C

3 v) O/ m- D, F$ h1 S20.2.1 SYS库的对象 3355 W2 {2 s' o5 ~

+ J, i4 h8 l( w' {- b20.2.2 SYS对象的实际应用 336
: @& M  K: F7 ]( b/ y4 B  ?# z& \4 u# A: f5 s
20.3 小结 3404 ]& j; O$ @" [( }, ?! u- T

. w$ l2 n: F7 W1 U( v第 21章 故障诊断 341" Q. e9 C% G) P1 }" U3 G
& ~4 X; k; Q: a0 k
21.1 故障诊断和处理的原则 341
' {/ x* W: N& z8 ~  T2 y' z. U
5 y$ S0 U7 H5 [7 G) M) a+ d21.2 故障处理一般流程 343( v) H6 j! Q6 j) r+ W3 a0 M
% L' z1 n, D& n( _) `  n/ ^* q8 e
21.2.1 故障发现 343
' ^/ c9 V' v% b
) M2 f9 c4 I' L; m" t; A* l& G21.2.2 故障定位 345
! m: d" t0 ~& p# B+ Z' @0 c/ H6 y/ j% Y: ~, n* c! U
21.2.3 故障解决 346" w9 I5 N; v" |1 F4 x6 v( Y: X

& O5 `4 S; s( @; W4 ]21.3 典型故障案例 349
0 P) Y  A7 E& [# g* j7 o2 Q- {* |) Z$ g: N' T0 V* d3 ~
21.3.1 案例1 349
6 M) Y  N( n' R6 C6 T1 y/ Z/ T8 \  X2 H  m7 y; k
21.3.2 案例2 353
5 d& x. t* _6 c5 S4 Q# U3 p. q6 ]3 z
21.4 小结 356
6 f/ w: D# q. }6 w# M$ K4 |2 `
6 _$ S1 z4 A8 t- c) w: c第四部分 管理维护篇! M" w, G4 @3 D' s3 {

; a' d% P4 t9 A) c: c0 y第 22章 MySQL高级安装和升级 3587 H0 M, m" }3 K
6 t6 K7 W) G' F9 _7 _% i& Q' x& M4 g
22.1 Linux/UNIX平台下的安装 358
; p, S+ [9 u+ K  ~% \, Y( E% v* b& U& D$ K& \1 h
22.1.1 安装包比较 358
1 w) E2 l9 Y& ]* H% s3 ?0 ?5 V/ I7 J
22.1.2 安装二进制包 359
0 N: z4 s$ U* E4 e( ]
/ n. Z  g- n4 F# h3 @' c3 [( {4 H& f22.1.3 安装源码包 359
2 j! O4 {  s0 q2 y8 }" E- M  G" U2 b2 A3 n) F
22.1.4 参数设置方法 360- ]+ S; Y  O& E2 R

" ?8 j5 d6 ^& y$ C3 f22.2 升级MySQL 361/ J( Z4 V) x/ {3 S
* Y& x) ^. n& \
22.3 小结 363
" R6 g, G% z. w' U
+ X/ K( M/ B, a第 23章 MySQL中的常用工具 364
. u3 j2 P  L) [+ W
/ D8 u) ~) ^# N1 E( d. H23.1 MySQL官方工具 364
! v4 N$ k$ W3 w6 Y7 _2 M0 P0 {" I& L) }; P! z. n4 m8 [
23.1.1 mysql(客户端连接工具) 364( o5 F" E7 W/ P- i
+ c" p7 N. s. q! @
23.1.2 mysqladmin(MySQL管理工具) 371* F8 Y2 C' W3 `: _
! Y9 N: X* y# Z  Y
23.1.3 mysqlbinlog(日志管理工具) 3717 m" Z1 _% ~- W, z- [5 {2 I
0 }; k+ w4 h! K, U0 v( A
23.1.4 mysqlcheck(表维护工具) 3781 [: o) o- j0 ~% e

. I2 }7 A# s: F+ m2 `* q- P23.1.5 mysqldump(数据导出工具) 380
* T5 N+ g7 o1 k
! n+ s# G  X, [) A% v0 {( d5 e: M23.1.6 mysqlpump(并行的数据导出工具) 384
' Q7 j; M  o7 ~: q5 {
% q% A- v# h4 x' V1 R# U2 i23.1.7 mysqlimport(数据导入工具) 385
; G6 x: S. u  ^3 D$ Y9 F5 Q
6 Y) E" y) L: z  B23.1.8 mysqlshow(数据库对象查看工具) 385
% [' P6 J- t, {6 B$ S9 v/ _7 q
8 [6 g  t( j' C9 G/ S3 k3 }23.1.9 perror(错误代码查看工具) 387
$ v+ W; @$ r3 P7 g/ D4 G
- r1 i, O/ h- s  Q, U23.1.10 MySQL Shell 387
1 a* I1 c% F: s" }# K0 q5 @+ Q# n
23.2 Percona工具包 390
: J0 S" b. G& O: o; O. z( S
% r  F8 J+ z5 g  k! ^23.2.1 pt-archiver(数据归档工具) 391! r* o* |% R; d1 Z& L6 ^: ]1 Z, Q4 }
  S+ Q) O/ Q4 y0 L
23.2.2 pt-config-diff(参数对比工具) 393. E) E. M1 V5 K+ k( D. [- H( }& _
4 E  K0 m+ v9 S0 a2 D2 W( K5 S* f3 ]
23.2.3 pt-duplicate-key-checker(检查冗余索引工具) 394" F" [' j: @; I1 W% `7 G! s

  d* n8 d% z3 X' a2 u% f1 F23.2.4 pt-find(查找工具) 395
% j6 L* I4 @7 J) b/ ]' |$ e, N( K" a+ V& \
23.2.5 pt-heartbeat(监控主从延迟工具) 395
; W7 a' k( E3 @" R" q
2 {# |; X' z; k) y& k- ~$ e4 O23.2.6 pt-kill(杀死会话工具) 397
; V. x* j8 w" r( J+ @) }8 q$ D
) s# P6 o  X- R1 i23.2.7 pt-online-schema-change(在线修改表结构工具) 397% }, L! D4 G, K  V: d
7 S" g5 a/ A7 ?1 @3 r, d8 ^
23.2.8 pt-query-digest(SQL分析工具) 399& z! O6 l! D8 @2 R: N
% i8 K* \3 \/ o* p1 Z' C! X
23.2.9 pt-table-checksum(数据检验工具) 4015 C8 G7 S: O! `, \
$ t" g# X; W% G" O* o% E8 H
23.2.10 pt-table-sync(数据同步工具) 402+ O" i9 P  X! m4 M$ E6 e
4 s! S8 l/ h. c5 }  J0 u- o
23.3 小结 403  n5 d% f3 L) A" e+ K

9 I; {0 A, ~9 g! [0 J3 _5 R第 24章 MySQL日志 404, M& f+ f* b7 l) y5 x6 I- J
0 \% o; B8 b( g
24.1 错误日志 404
7 p0 o# s/ l+ U, e+ o
' s% M9 J9 c) [; P3 |/ U24.2 二进制日志 4059 [$ P. u% J8 d( i4 ]; O2 T
# G8 b- O( h; i8 u* ]& w1 ^9 g
24.2.1 日志的位置和格式 405
* t. `2 o) p; o1 b* X) S9 b5 f$ l3 H; z
24.2.2 日志的读取 406
- A: x* y- S' W( p7 C
9 Q; ^  J# z# o$ r& B* U24.2.3 日志的删除 407& x& R# v5 R0 N6 h; ~* i" K2 W8 F
% x& r7 o& L& D5 T
24.2.4 日志的事件 411
* T& \3 l& I3 V
- I. C* Q: g% x% @1 d24.2.5 日志闪回 4124 J4 ?; F. Q( [# g2 N2 I
8 T3 U' m* Y$ m" h
24.3 查询日志 415
& S- N0 @0 y9 n4 X" N; p* B, g" J  G& C
24.3.1 日志的位置和格式 415
* d7 M9 G$ z) w$ b0 h' z% `6 Z4 m* f5 Q. N: U8 ^- d
24.3.2 日志的读取 4167 L0 ~+ u& M1 j' c" H

3 k; ?) r+ ]+ C5 d+ y24.4 慢查询日志 416
7 }2 T8 ?& x" v8 n, n2 Y3 \! `3 T1 d7 A: C2 v3 ?
24.4.1 文件位置和格式 416
) c; ~. y+ V3 t2 e" N$ F3 C. i9 \( n* @% M" o/ M, P3 E
24.4.2 日志的读取 417
5 [- O' A9 R$ a9 G8 r- _1 u& ]& w
24.4.3 Anemometer简介 419/ j" B, _0 h4 }2 [& j

" t1 Z  z* M% t, \/ u24.5 小结 421# k$ M. V# |0 E

6 \; [' w. k  R4 d+ |% B第 25章 备份与恢复 422
5 }+ i/ ]# ^5 R# E, x8 L% r
2 d0 A5 P# W' d: i: ^$ q0 S0 D! h25.1 备份/恢复策略 422& W: C, l2 G1 [- o  l3 I
7 V0 m/ e' V" I/ {) ^
25.2 逻辑备份和恢复 422# T0 f, [  l& Y$ s
3 ]0 a$ ~2 W( x
25.2.1 备份 423
$ o- G0 W7 Y& `$ S
9 g: E# }2 I/ s. `25.2.2 完全恢复 4256 l1 e+ ^( m: J
9 w8 R% h/ _5 Q# D& g7 x; m0 d% C- l9 |
25.2.3 基于时间点恢复 427
2 G4 W( g; p" [  H2 v4 x# D% s; a* T1 H$ ^0 g
25.2.4 基于位置恢复 4276 d3 ^. f7 Y9 F
! }0 L  W2 }% [6 |+ n& D! a! P; S
25.2.5 并行恢复 427' A2 }+ V4 c/ A
, P& i1 M. A- j
25.3 物理备份和恢复 428
  ], H8 X6 A7 \. Q. n& U$ J0 @8 _% }) {
25.3.1 冷备份和热备份 428
. y3 v- X4 s* W% i; N( O* B+ g' U5 j' e: B+ h1 a% ]
25.3.2 MyISAM存储引擎的热备份 429  S. A! ~1 S; x8 K- [
7 c- L" \3 u) ^: _
25.3.3 InnoDB存储引擎的热备份 429
3 C& c8 l4 p/ m6 Y. J$ `8 d. F, s  T2 Q: H" K" ?
25.4 表的导入和导出 438% b1 i! K2 d5 H% i

8 c" v' a6 H0 N# _$ P25.4.1 导出 438
- f9 R  S+ |" q: k9 ?) S: j( [# S7 C
25.4.2 导入 442$ f. s: `) K' i5 C& |( ?. W

, P) K# S* y( m: M25.5 小结 445% y! c8 @; J* `; K0 a$ F

" Z& D, V) ~; O' i! K第 26章 MySQL权限与安全 446
5 A1 `2 Y0 U4 _$ `) ?; d* P# _. E
26.1 MySQL权限管理 446
$ b/ T# j* ~1 u/ ?
  T& b! ~9 ?% O/ F26.1.1 权限系统的工作原理 446. G; x- ]! y6 I9 }

8 Q+ l- L. h, |) M. _26.1.2 权限表的存取 446
0 y. X. y2 j5 s* L7 D; I+ V5 T/ k- I- T
26.1.3 账号管理 449
4 C9 Q* i8 r! b7 G9 [7 B. m
# X- M. K. ?1 e0 V0 n' r% K26.2 MySQL安全问题 461# l: E0 b/ T( `* I7 c

/ E/ ~' A$ d+ E- s9 l; v: c3 {) _9 V26.2.1 操作系统相关的安全问题 461
/ ?- J1 ~$ _, A5 A" O0 I- _6 W; S. P6 r
26.2.2 数据库相关的安全问题 463
0 k- m/ F7 d( v- Z* p! b* {! \; c
  A6 g9 u! Q3 T- H' t26.3 其他安全设置选项 471
* @3 V5 Y! A4 {8 Q- K$ A( F2 Z
, W3 T: A& ^/ X! V3 W26.3.1 密码插件 4717 C9 j/ ~6 }! U

3 ]; m5 R# y1 J6 v- E4 t26.3.2 safe-user-create 472- M! x7 J' t% {1 U) F; P! y7 b

; X' y3 E+ Y$ o; H; ]* x2 H' o26.3.3 表空间加密 473) k! r9 r; m4 g3 x4 S
9 K6 h- B9 C" A+ e8 _$ M- f5 t" ~
26.3.4 skip-grant-tables 474! e6 T: W* \! g+ D5 B- E% M
; p5 a+ ~) t6 i
26.3.5 skip-networking 474
% ?$ r; F! ?. }( r7 {7 N
( u# p- E4 r2 ^* {# y) ^  @/ J26.3.6 skip-show-database 475" _, l$ E/ H5 u& ?) U4 O; D0 B

" v& P+ \  I  D6 ?26.4 小结 475- N: ~. a7 V. l
( D, t9 @' Y3 }9 N! N: k5 k! G/ l
第 27章 MySQL监控 476
* `  U* z1 D# t3 r! P) g; a4 I* |
27.1 如何选择一个监控方案 476; T* b* j9 I9 g3 ?2 K8 O" N

1 e. A7 @0 Y: q3 o27.1.1 选择何种监控方式 476* c2 y1 L- _- X7 V% a% F7 a
" b: }3 i; T1 f) y: C1 s
27.1.2 如何选择适合自己的监控工具 4773 Y% s7 i3 _6 w! q1 G8 G# P
5 J5 J* r: e0 I
27.2 常用的网络监控工具 477$ y+ a; Y; A& K9 p& W; G3 h

' {) @( I$ ^. g/ y- C+ K6 o' F27.2.1 Open-Falcon简介 4770 J- k$ E( u. a
) Z' z% a- e" u: U- W' d! _
27.2.2 Nagios简介 479
6 e7 _! B; A2 H; y  u9 B5 f+ \7 x! q7 i6 y
27.2.3 Zabbix简介 480, R; t6 Y3 W8 V+ r( K! U

' n+ N+ g+ V* ]% Q' b- M27.2.4 几种常见开源软件比较 481
, M# f1 T2 ?' ^% y; D' A) d. z$ g" A& |' ~, o
27.3 Zabbix 部署 481
- g! p2 o4 K% q* B( }6 q) t" ]0 s% L; U9 w4 V, Y
27.3.1 Zabbix Server软件安装 482
% y* A/ Z. [8 Y) e2 k( ?5 Q# \4 E. R( G$ {* c9 S
27.3.2 Zabbix Server配置与启动 482; d" a- p& a: X+ u, m& ]

5 k) S  P- A% v; X1 g8 u27.3.3 配置Zabbix Web服务端 483- D( r+ E* i" z5 k' ?* U* p" E# L; t# Z
5 }2 m) u2 W6 Y# M- d
27.3.4 Zabbix Agent安装和配置 4851 k1 Q, ^/ A2 m+ p* _
" W" f9 I9 ?) R2 {. W
27.3.5 PMP插件介绍和部署 486" l' O$ |0 ]& J( V. \& b) _* u4 t  d
7 M: t: |3 C% d
27.3.6 Zabbix Web端操作 489
% H# t- d1 R8 A5 m6 }8 w, `7 ~4 Z. S! E' T# q# k
27.4 性能医生orzdba 4918 ^' L3 p% d) a9 R; d

7 B) p7 u" U# ?( ^27.4.1 orzdba安装 491
3 r" e1 O" [+ {7 _2 u7 U2 ?3 w+ w
/ i/ T# R6 D! ~, b" g- y! L  ]  q27.4.2 orzdba使用 492( }9 s/ P* W" a

( s! t" |/ }- q27.5 小结 492
: S& v2 w/ r# u/ F" }. ^' }9 L! J
( d) G* _* t, s5 M4 m4 K第 28章 MySQL常见问题和应用技巧 493! Q# `+ z: ~' `3 H
, H3 r- i' k4 J1 C$ K
28.1 忘记MySQL的root密码 493
* h! B) Z; E# n7 p3 z2 A$ m  y
- ]8 J0 ^$ g$ z28.2 数据目录磁盘空间不足的问题 494) B: y- C+ U6 W# w. B. Q! a/ J9 M' W
* k% f# H0 T6 l$ [
28.3 mysql.sock丢失后如何连接数据库 495
. g1 V! _* \/ H7 X7 Y" |! |1 C& \$ p
28.4 从mysqldump文件抽取需要恢复的表 4966 S) ^  k( e$ \
" k) s" m/ H" S: b0 x0 Y
28.5 使用innobackupex备份恢复单表 497
0 N1 v( v% P( h* f/ W
8 M$ ~& r: q$ \3 f" i# d; t. L28.6 分析BINLOG,找出写的热点表 498# g2 o' p9 O* W' S+ [: b# [

9 Z5 b, g6 M& ]; g& i% G  y28.7 在线DDL 499
, J6 \$ e' ^9 j" Z4 L+ d4 ~4 X: ^% ^- j
28.8 小结 502% A1 v9 f" F: G# B
  |" D- a4 G1 n
第 29章 自动化运维系统的开发 503, `; K, \9 {! q6 d

1 t, x- R( j( s, ?1 l29.1 MySQL自动化运维背景 503# N8 i% s  g5 z: ]: L2 J: b
0 h! e7 F) ~; u4 c
29.2 CMDB系统搭建 5045 ^5 S" b* \' _; R6 V) C
2 Q* M3 [1 o1 E  B
29.2.1 CMDB数据库 504" o2 h: y) g* A1 n

3 ]3 }$ d: m2 e% ?) t) H2 i  k29.2.2 批量管理系统 505
7 o8 Q* N3 U8 E: P3 b
, q3 }) S4 K" A2 l. k! ]; h29.2.3 后台API 511
5 r& p4 U: O- C  }! S; O+ i" x
& L- V) k* h/ Q2 r/ V& Q, g29.3 任务调度系统 515# W( g& o" c* [% g) ~% u: |9 E
' H% ^: j) ^7 D' C( _
29.3.1 Celery安装 5153 F6 A) W/ q( X6 f; I' E' m

( r7 T) _) q4 ?* A29.3.2 Celery任务部署 516) j( f3 r/ ~! f  Z( Z2 y1 f
1 G7 o/ K4 k; H
29.3.3 Flower监控 518
' O9 E: l, I  b7 G) E: K9 \
- [$ P& C0 k8 ~3 ~3 c( B4 J29.4 客户端搭建 519
. K( ~1 _+ E5 S- v) q
1 K, H7 s0 ^6 e; G/ o$ x29.4.1 Vue.js简介 519
6 u$ j# r) c) N  a, [* I1 I% m+ \8 \
! q% x8 r, B! l5 U$ I29.4.2 Vue项目搭建 520! `- x. k, w: G
( Q2 r$ `% J; ^; Q
29.5 自动化运维平台实战 525
; V% Y$ v* a9 [% C
2 A, U) H: r# f5 d3 T$ p4 Q# E29.5.1 搭建CMDB 525
+ H! @5 d" G7 q$ Q' }9 ?3 S! M& ~8 f* V  Q; X
29.5.2 搭建任务调度平台 528
: ~) I) l6 F$ {" c2 J! D
% v1 k! P5 O* z1 U3 ?& O! Q* @' \29.5.3 搭建客户端 529! c0 a) b; [0 b- |

" n1 Z% P" ?8 T  {  ?- l29.5.4 项目演示 532
- w/ }( g3 i/ B* f( ?, j3 ~
4 I4 s2 D# R. L3 r) ]  _8 Y29.6 小结 5329 `. K+ s1 H6 N+ Q4 Q+ s. Q

' Z( \8 c' K7 k3 O; b, S第五部分 架构篇% S+ j1 U" @5 T8 u; W+ B

4 i- j( V$ n6 i( B1 p' \第30章 MySQL复制 534
! I/ Y3 C1 w9 j' o% e& d3 y8 |; [; A! b! u# z! k% S
30.1 复制概述 534: [+ A; k/ l  ~! ?
: F' S3 z% j7 y, c
30.1.1 复制中的各类文件 5361 M+ ^/ g/ P4 K7 o

! {" g' s  G' W0 g' q4 r) S30.1.2 3种复制方式 537
1 m6 ]1 y- B7 a* z; F0 N& o6 j  j/ c3 B- H8 f* ]$ N2 s! s7 g( [* C
30.1.3 复制的4种常见架构 540
- X% y& o4 g, s* I' \
4 I% t; N3 |$ W) Q9 ]( o2 K" I30.2 复制搭建 543( |4 b3 C6 F+ o1 Q3 h- t0 k' ?
% o# }. l3 ^* Y0 |
30.2.1 异步复制 543' M8 |% S4 [! |) k' I! n
9 n3 m# S6 O3 T/ m( d
30.2.2 多线程复制 547& l/ h$ y- O0 Q
$ q8 }0 X" b6 \8 h$ n2 y5 L
30.2.3 增强半同步复制 553
% k5 n1 d  v$ e* T- t# r% i4 u$ c" {
30.3 GTID(Global Transaction Identifier) 558
# H. {4 P" G8 @, f3 q/ w, Y* w6 ^1 D4 @  L# [# S8 g
30.3.1 格式与存储 558/ |! ?! @! g, {+ t8 S9 g- }
! w8 {8 l/ u+ D& v0 L# O
30.3.2 gtid_purged 561
4 B- T4 P) y0 W1 d/ x8 e- y" |+ j" t, {. A
30.3.3 复制搭建 565# ]4 B* \% j/ S: ]
3 M( L0 P6 u3 \8 o7 X
30.3.4 主从切换 571% K* i: b8 ^- M0 t" V

# z$ A' t) h" m9 T/ e30.3.5 常见问题 572
  G" L$ j, @+ ^( T
( ?, W% g7 G& E$ R% }. ^: w30.4 主要复制启动选项 576
# l0 [) M, S% |7 F, m( D, d. _& t$ K2 Y% E6 Q
30.4.1 log-slave-updates 5760 L" G! O  V, |- L" O+ u/ c; b
: l: O% U1 t1 {# U# B
30.4.2 read-only/super_read_only 576
' p" e# B3 M2 R- T% K/ `
. U6 B/ q& y5 O( C0 q& V2 k30.4.3 指定复制的数据库或者表 5771 I: O9 N8 }4 G! z* t
& g3 }/ y9 k: u2 d% ?& O. D
30.4.4 slave-skip-errors 579* Y2 Q* g1 n" g- J2 H: b
+ Q7 j; I: K4 G. o. v& P% l
30.5 日常管理维护 5799 p, _2 w" T4 z7 ?2 v3 z

. B- S. j, C8 a30.5.1 查看从库复制状态和进度 5792 s; c9 v2 R: s3 |. ?

2 ^- W7 b- g5 A$ c30.5.2 主从复制问题集锦 580
8 L# G+ A6 \$ ^2 `% Y# q% {& I" e6 I/ k# Z- U7 T
30.5.3 多主复制时的自增长变量冲突问题 582
0 t6 o0 E  L5 R5 \5 I0 h" m) [
  c7 a  |4 n! W: A30.5.4 如何提高复制的性能 5842 N5 S# N, i4 h2 H
: |( N, N# n& W  W
30.6 小结 588
8 Z" N% L# d/ w' k  l6 u  g8 y
第31章 高可用架构 5899 K, D" f" ^+ \/ `

3 U* ~& W# o0 k+ Z2 D8 d' J31.1 MHA架构 589
' K" _. A9 g8 q8 L; B! K0 r" s, a+ u( s6 J% V) F3 f8 w
31.1.1 安装部署MHA 591
1 p  g5 ]7 I6 i8 c/ m, V- a2 A3 L6 J4 E+ Z7 _
31.1.2 应用连接配置 598
8 F" P% R& k) c! x9 `
# P$ [3 N) y- m3 e" p& p" h31.1.3 自动failover 605! S7 H6 u' A& n- d5 ?
  I6 Y3 c9 n3 g0 v( }: b
31.1.4 网络问题触发的failover操作 614. r/ _# E7 o3 M4 x! }' M/ k
! `. \/ t+ d8 G7 ~6 x0 T4 D
31.1.5 手动failover 614  N8 ~3 Q/ S9 j) B' f* V+ e8 ~

$ N" }0 G4 o2 D) z9 m! a! r31.1.6 在线进行切换 615
6 f* Q2 q5 N4 b% F! g7 @2 C* C3 y0 i1 c2 o7 f$ m
31.1.7 修复宕掉的Master 6177 [; U& V( S. D
. U# D) E# E+ k# @  X5 D5 D& ~
31.2 MGR架构 6175 f' B3 y7 }8 `" m# Y0 ~$ Q
' Z$ y+ ?" L: {
31.2.1 安装部署MGR 618% E2 c( E0 a6 c

: ?) v! Q: m- L1 `! F6 H31.2.2 监控 625! ^$ D" b/ G6 ^: O; W

7 M5 l6 n% Q5 C& p0 I& t31.2.3 primary成员切换 626
& D2 O+ s/ M2 N1 i; v- R2 V
  Z  E! y, a% K# m* E31.2.4 重要特性 628
6 q6 c* M# J4 A( V% k( _
0 o7 X9 q  Z' @; D2 B31.2.5 常见问题 6294 b/ }4 m' `# a

4 M4 r. J8 H; S9 w31.3 InnoDB Cluster 636
. e1 Z5 R/ @6 g" S
9 `7 S0 Z3 b+ o6 J31.3.1 安装部署 637) A' ]3 P: h2 j

4 B# I( m8 {7 L' d0 A# ~. O31.3.2 初始化MySQL Router 6428 q2 K$ C; O' v( J# S" Q

& U7 w% S2 H7 W- F4 o( Q% f) X31.3.3 集群Metadata 643/ x6 E# l0 o* g- ]( d" L! g

0 A: L& }7 |6 l/ t8 ?31.3.4 集群成员角色切换 644: ?3 t  ^. ~+ S/ F3 |0 ?8 n

4 g2 ]4 K! L6 s, J! w  [31.3.5 集群删除/增加节点 646/ {% b0 A6 d5 f* V* |3 ?

6 ?* i; d5 ?. c7 x9 v31.3.6 重新加入节点 648+ G1 e( h6 O9 O

+ l" G& k" ], H  U3 T31.4 小结 649
# P: t. z6 V$ p/ y) i0 s8 ^
6 }0 p$ K( i# B& i" D% |7 h第32章 MySQL中间件 6504 ]& g- P, T7 q5 u; x$ b" @+ I

% o6 ~9 _* |2 ~+ J0 d" a  n32.1 MySQL Router 6502 q1 y' Q7 m6 w$ i3 x5 `. {; q* j

1 R+ u) E  o; d9 @3 r+ y& f32.1.1 MySQL Router的安装 651
4 W0 }" t; f7 Q! N+ q+ F- p8 i" F4 h/ s; G% `4 F9 r
32.1.2 MySQL Router的初始化 6531 g4 s+ J' s4 W! z
3 ]$ X0 o4 x2 g/ Z1 O
32.1.3 MySQL Router策略验证 656
3 `: z" ?1 _: ?
( Z) e) d+ T! x' }, o" b32.2 Cetus架构 658 java8.com
! g1 I- k7 O- H1 ?+ n$ M5 h9 \# O1 A
32.2.1 Cetus的安装配置 6596 d: o, u: r% e( `
/ L  z7 Q# x6 g' l
32.2.2 Cetus的使用 670
2 l) k. t# r2 e' p" y; Q1 R9 Q& _" p% _+ f
32.2.3 Cetus日志文件 674
: R' O' J6 T% E
( |% g' f, c- o  K. D+ `6 N32.2.4 Cetus的后端管理 6752 w- o1 q' S9 Z7 z

9 i, L( \5 |5 z: s% g- `' i32.2.5 Cetus的路由策略 678# A: x: c/ C; k; @
, e; K" {# p. Z4 }, O! g
32.2.6 常见问题 681; }7 P. T/ R  Y

. [! U. r( t, `9 _2 i5 b) A32.3 小结 682# i, y$ _7 h2 g8 [3 [/ B$ r

" c" d7 ~. v. ?& J# \% N6 ]
; p6 n+ l" b5 r
百度云盘下载地址(完全免费-绝无套路):
游客,如果您要查看本帖隐藏内容请回复

  i1 n( Q/ x5 f) p
9 X7 I/ `" e+ O" W5 }. ?3 ?; w6 m9 E, }8 }, u

/ y2 c( {4 h, ^/ j3 ?" L- }

本帖子中包含更多资源

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

x
关注下面的标签,发现更多相似文章
分享到:

回答|共 21 个

聊聊娱乐圈那些事

发表于 2024-4-8 14:29:25 | 显示全部楼层

免费资源 真的无套路

尘峡觅乐徒纯

发表于 2024-4-8 15:11:17 | 显示全部楼层

我来白漂了 多谢

委座

发表于 2024-4-8 15:51:55 | 显示全部楼层

不错,好资源

翁长奎

发表于 2024-4-8 16:33:25 | 显示全部楼层

java吧 真给力

知行与执行

发表于 2024-4-8 17:15:17 | 显示全部楼层

我来白漂了 多谢

福中堂

发表于 2024-4-8 17:57:24 | 显示全部楼层

不错,好资源

东随坤缘

发表于 2024-4-8 18:38:03 | 显示全部楼层

真的免费下载 难得

091217

发表于 2024-4-8 18:42:54 | 显示全部楼层

深入浅出MySQL 数据库开发 优化与管理维护 第3版 PDF 电子书 X0211 [修

悠然心

发表于 2024-4-8 19:25:48 | 显示全部楼层

我又来了 白漂开始
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则