MySQL的innodb启动过程
Jun 07, 2016 pm 05:13 PMfil_init 主要是初始化文件打开指针哈希表,所有打开的文件全记录在 fil_system 之中,构造按名字查找的哈希表 buf_pool_init 内
fil_init 主要是初始化文件打开指针哈希表,所有打开的文件全记录在 fil_system 之中,构造按名字查找的哈希表
buf_pool_init 内存缓冲池的初始化,对应 buf_pool_ptr 数组之中,还初始化了 adaptive hash index 的内存
log_init 初始化log缓冲区,默认大小为 512*16k, 每个log页面大小为 #define OS_FILE_LOG_BLOCK_SIZE 512 日志文件在创建过程中也是指定不用系统缓存
lock_sys_create 初始化系统锁,就是建了一个HASH表,lock_sys
recv_recovery_from_checkpoint_start 开始执行恢复
dict_boot 初始化表结构的缓存,dict_sys,建两个hash表,可以根据表名和表ID查找;初始化系统表,就四个 SYS_TABLES SYS_COLUMNS SYS_INDEXES SYS_FIELDS ;初始化 insert buffer,每一个表空间对应一个;读入上面四个系统表中的内容
trx_sys_init_at_db_start 初初化事务结构体 trx_sys ; Creates the global purge system control structure and inits the history
dict_create_or_check_foreign_constraint_tables 创建另外两张系统表 SYS_FOREIGN SYS_FOREIGN_COLS
启动的线程,
IO部分共10个,可通过参数配置
1个 insert buffer thread
1个 log thread
4个 aio read thread
4个 aio write thread
1个 lock timeout thread A thread which wakes up threads whose lock wait may have lasted too long
1个 error monitor thread A thread which prints warnings about semaphore waits which have lasted too long
1个 monitor thread A thread which prints the info output by various InnoDB monitors
1个 master thread The master thread controlling the server
1个 thread handle shutdown
1个 handle connections socket 专门用来处理连理的
1个 trx_rollback_or_clean_all_recovered Rollback the uncommitted transactions which have no user session
struct st_mysql_plugin *mysql_optional_plugins[]=
{
builtin_innobase_plugin, builtin_perfschema_plugin, builtin_partition_plugin, 0
};
struct st_mysql_plugin *mysql_mandatory_plugins[]=
{
builtin_binlog_plugin, builtin_mysql_password_plugin, builtin_csv_plugin, builtin_heap_plugin, builtin_myisam_plugin, builtin_myisammrg_plugin, 0
};
初始化的 binlog memory myisam innodb pefformance_schema partition

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Utilisez ddrescue pour récupérer des données sous Linux

Open source! Au-delà de ZoeDepth ! DepthFM : estimation rapide et précise de la profondeur monoculaire !

Comment utiliser la fonction de filtre Excel avec plusieurs conditions

Google est ravi : les performances de JAX surpassent Pytorch et TensorFlow ! Cela pourrait devenir le choix le plus rapide pour la formation à l'inférence GPU

La vitalité de la super intelligence s'éveille ! Mais avec l'arrivée de l'IA qui se met à jour automatiquement, les mères n'ont plus à se soucier des goulots d'étranglement des données.

Vitesse Internet lente des données cellulaires sur iPhone : correctifs

L'US Air Force présente son premier avion de combat IA de grande envergure ! Le ministre a personnellement effectué l'essai routier sans intervenir pendant tout le processus, et 100 000 lignes de code ont été testées 21 fois.

Le premier robot capable d'accomplir de manière autonome des tâches humaines apparaît, avec cinq doigts flexibles et rapides, et de grands modèles prennent en charge l'entraînement dans l'espace virtuel
