MySQL core information
Pricing: ¥56.00
Member price: ¥42.00 (off)Sample free trial: http://www.china-pub.com/196166
Author: Zhu dingze Zhang Hai Huang Jianchang
Press: Tsinghua University Press
ISBN: 9787302216964
Mounting time:
Published on: February 1, January 2010
Start: 16
Page number: 338
Version: 1-1
[Edit recommendations]
New MySQL Heat Wave
Open the latest ga MySQL source code
China's first open-source MySQL storage engine
Tracking the dynamic changes after sun acquires MySQL
MySQL kernel for the first time in China
China's first open-source MySQL storage engine Lillian code
MySQL bazaar Chinese analysis results
[Content Overview]
This book is designed and implemented by a MySQL expert from Sun's Chinese Engineering Institute. The author divides the complex MySQL kernel into multiple functional subsystems to resolve various difficulties in understanding the subsystems.
This book is divided into 12 chapters. Chapter 2 describes the historical origins of MySQL. Chapter 2 describes the architecture of the MySQL database. Chapter 2 provides an in-depth understanding of MySQL source code and Chapter 3rd explains key classes and algorithms. From Chapter 1 to the end, we will explain each subsystem, the content includes connection and network system, server thread and resource management, query parsing and optimizer, security management system, storage engine Interface Details and practices, classic storage engine, log function and practice analysis and other subsystems.
Related MySQL source code is provided in the book distribution CD.
This book is suitable for technical staff and developers interested in kernel programming and design, as well as various technical staff who use MySQL Databases during learning and work. Because the main content involves the MySQL kernel source code, learners should have C/C ++ preparation knowledge.
[Directory]
Chapter 1 past and present of MySQL
1.1 MySQL History 2
1.2 Storage engine 4
1.3 MySQL market 6
1.4 Things 8
Chapter 2 three-dimensional view of database system 9
2.1 database system architecture 10
2.2 Classification of database systems 10
2.2.1 Object-Oriented Database 10
2.2.2 relational database 13
2.2.3 Object Relational Database 14
2.3 relational database system architecture 15
2.3.1 client application 16
2.3.2 query interface 16
2.3.3 query statement processing 17
2.3.4 query optimization 18
2.3.5 statement execution 19
2.3.6 read and write files 19
2.3.7 module collaboration 19
2.3.8 RDBMS hierarchy 20
. 2.4 MySQL Database System 21
2.4.1 MySQL Database System Architecture 22
2.4.2 connection between subsystems 23
2.4.3 MySQL subsystem and Code 25
2.5 Summary 29
Chapter 3 Changyou source code 31
3.1 download MySQL source code 32
3.1.1 bazaar installation 32
3.1.2 access MySQL source code 33
3.2 source code directory structure 35
3.2.1 key directories 36
3.2.2 code contributed by the open-source community 42
3.2.3 interpretation of SQL/SQL _delete.cc 43
3.3 MySQL Kernel Analysis Tool 46
3.3.1 compile and install MySQL 48
3.3.2 debug MySQL 50
3.3.3 source code retrieval tool 56
3.3.4 doxyen source code 57
3.4 summary 58
Chapter 59 core classes, library functions and Algorithms
4.1 core class 61
4.1.1 Thread class (THD) 61
4.1.2 item type 65
4.1.3 table description-Table 68
4.1.4 Field Class 69
4.2 function library 72
4.2.1 memory operation function 73
4.2.2 file system operating functions 74
4.2.3 hash table operation 76
4.2.4 string operation 77
4.2.5 macro definition 78
4.3 Core algorithms 78
4.3.1 bitmaps-bitmap 79
4.3.2 Working Principle of table connection buffering 80
4.3.3 MySQL sorting implementation 83
4.3.4 Character Set and proofreading Rules 86
4.4 summary 88
Chapter 3 connection and network system 89
5.1 MySQL net protocol 90
5.1.1 protocol and operating system protocol stack 90
5.2 network package format 92
5.2.1 null end string and
String with length 93
5.2.2 network Header Format 94
5.3 client-sent packet 95
5.3.1 client authentication package 95
5.3.2 command package (command) 96
5.4 server-side packet 99
5.4.1 handshake initialization package 99
5.4.2 result package category 102
5.4.3 OK package 102
5.4.4 error package 105
5.4.5 result set package 107
5.5 Conclusion 114
Chapter 2 server thread and Resource Management 6th
6.1 thread or process 118
6.1.1 comparison between threads and processes 119
6.2 MySQL thread Problems and Solutions 120
6.2.1 Standard C function call 121
6.2.2 mutex locks 122
6.2.3 thread synchronization 124
6.3 client request processing 126
6.3.1 MySQL startup 127
6.3.2 execution stream 128
6.4 class, API, variable, and struct 130
6.5 MySQL memory allocation 132
6.5.1 memory shared Block 132
6.5.2 thread memory Area (TMA) 133
6.5.3 How can MySQL allocate 134 of memory?
6.6 conclusion 137
Chapter 2 query parser and optimizer 7th
7.1 MySQL parser 140
7.1.1 lexical analysis program. 143
7.1.2 syntax analyzer 146
7.1.3 key categories 146
7.2 query optimizer 154
7.2.1 traditional optimization algorithm 154
7.2.2 MySQL query algorithm 155
7.3 Conclusion 170
Chapter 2 Security Management System 8th
8.1 account authentication 172
8.1.1 account definition 172
8.1.2 identity audit 173
8.1.3 specific priority 182
8.2 permission control 183
8.2.1 system permission 184
8.2.2 permission review 186
8.2.3 permission 189
8.3 secure deployment 193
8.3.1 server system security 194
8.3.2 database system security 194
8.4 conclusion 198
Chapter 2 storage engine interface explanation and practices 9th
9.1 architecture of MySQL plug-in storage engine 200
9.1.1 basic process 200
9.1.2 starting from the source code file 201
9.1.3 unexpected help 201
9.1.4 handlerton 202
9.1.5 handler class 204
9.1.6 archive storage engine
Simple analysis 208
9.2 develop my storage engine --
Lillian (template profiling) 209
9.2.1 underlying I/O 209
9.2.2 lillian_data class 209
9.2.3 lillian_index class 217
9.3 develop my storage engine --
Lillian (code writing) 232
9.3.1 Stage 1: Initialize storage engine 232
9.3.2 Stage 2: Table operation 238
9.3.3 Stage 3: Read and Write Data 243
9.3.4 Phase 4: Modify and delete data 245
9.3.5 Stage 5: indexing 248
9.4 conclusion 261
Chapter 2 storage engine 10th
10.1 MySQL metadata file -- frm 264
10.2 MyISAM storage engine 270
10.2.1 MyISAM architecture 270
10.2.2 data file (. MySQL) 271
10.2.3 index file (. myi) 277
10.3 InnoDB Storage engine 288
10.3.1 InnoDB's purpose and
Main functions and features 288
10.3.2 InnoDB architecture and
Code layout 288
10.3.3 InnoDB file 291
10.3.4 InnoDB record structure 292
10.3.5 structure of the InnoDB page 296
10.4 conclusion 300
Chapter 2 MySQL Log functions and implementation analysis 11th
11.1 Error Log 302
11.1.1 Error Log 302
11.1.2 Error Log initialization 303
11.1.3 error log record implementation 305
11.2 common log 307
11.2.1 General log function introduction 307
11.2.2 General log initialization 310
11.2.3 normal logging 311
11.3 slow query log 312
11.3.1 overview of slow query log 312
11.3.2 initialize the slow query log 313
11.3.3 Implementation of slow query logs: 314
11.4 binary log 317
11.4.1 binary log feature 317
11.4.2 binary log initialization 320
11.4.3 binary log implementation 321
11.5 conclusion 322
Chapter 2 other subsystems 12th
12.1 replication subsystem 324
12.1.1 replication infrastructure
Description 324
12.1.2 implementation principle of Replication
Summary 325
12.1.3 replication thread 326
12.1.4 functional file of replication 326
12.1.5 composition of the replication subsystem 327
12.1.6 principles of replication 327
12.1.7 summary 342
12.2 error message subsystem 342
12.2.1 implementation principle of error message 342
12.2.2 error message consistency 344
12.2.3 how to add error messages in different versions: 345
12.2.4 summary 345
Appendix 1 getting started with bazaar 347
Appendix 2 MySQL source code distribution overview 354
References... 371