1.0 MySQL源码目录主要包括:客户端代码、服务端代码、测试工具、其他库文件。当然,看懂源代码得有一定的C语言基础。
BUILD:各种平台的编译脚本,可以用来制作各平台的二进制版本
client:客户端目录(mysql.cc、mysqladmin.cc……)
Docs:文档目录
storage:存储引擎目录,实现handler抽象借口主要包涵下面目录:innobase(最常用,支持事务、MVCC,就是多版本的并发控制)、myisam myisammrg heap csv archive(支持插入和查询的存储引擎) federated(可以操作远程表的引擎) ndb blackhole(黑洞引擎,比较特殊)
mysys:mysql为了实现跨平台对系统库封装
sql数据库主程序目录(sql_insert.cc sql_update.cc),存储引擎借口(handler.cc handler.h)
这些东西有兴趣的都可以去了解下。
2.0 MySQL初始化设置。
linux操作系统环境下 MySQL初始化设置请参考:
CentOS7安装MySQL
https://www.cnblogs.com/bigbrotherer/p/7241845.html
windows操作系统环境下 MySQL初始化设置:
win键+R
输入cmd:
输入:cmdmysql -u root -p
没有初始密码,在密码阶段直接回车。
mysql有个小东西:“c”:终止输入语句。
输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
这里有个问题,新密码设置的时候如果设置的过于简单会报错:
原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关,具体参考:
CentOS7安装MySQL
https://www.cnblogs.com/bigbrotherer/p/7241845.html