编译MySQL的过程中可看到类似如下的信息,这是在初始化一个数据目录,可观察参数,掌握MySQL编译过程中建立数据目录的过程:
Step 1:
Executing .../mysqld.exe --no-defaults --console --bootstrap --lc-messages-dir=.../sql/share --basedir=. --datadir=. --default-storage-engine=MyISAM --default-tmp-storage-engine=MyISAM --loose-skip-ndbcluster --max_allowed_packet=8M --net_buffer_length=16K --loose-skip-auto_generate_certs --loose-skip-sha256_password_auto_generate_rsa_keys
Step 2:
input file bootstrap.sql, current directory .../sql/data
解析:
1 首先,调用了编译好的mysqld
2 其次, 使用了参数"--bootstrap",表示要生成初始的数据目录.官方对这个参数的解释为:
Used by mysql installation scripts
3 设定数据目录的位置. 如调用参数"--basedir=. --datadir=."
4 指定缺省的存储引擎, --default-storage-engine
5 在生成数据目录的过程中,调用了"bootstrap.sql"文件. 这个文件内容值得关注. 此文件中存在有预先设定好的SQL语句,这些SQL语句为一个初始的系统创建初始的系统元信息. 想了解具体内容,此文件值得一读.