版本相关知识

Mysql命名机制使用由3个数字和一个后缀组成

5.0.9   5代表主版本号  0代表发行级别   9代表发行行系列的版本号

稳定性级别

Alpha  表明发行包含大量未被彻底测试的新代码

Bata   alpha版本至少一个月没有出现报导的致命漏洞

Rc    是发布代表。是一个发行了一段时间的beta版,看起来应该运行正常,只增加了很小的修复。

如果没有后缀,这意味着该版本已经在很多地方运行一段时间了,而且没有非平台特定的缺陷报告(GA)版

版本相关知识_databases

获得mysql

         www.oracle.com

         http://dev/mysql.com/downloads/

mysql启动

./bin/mysqld_safe --user=mysql &

启动mysql

vim /etc/init.d/mysqld  编辑mysqld 启动程序,对其进行设置

46 basedir=/application/mysql-5.5.32

指定了mysql数据库安装在哪个路径下

47 datadir=/application/mysql-5.5.32/data

指定了mysql数据库放到了哪里

Mysql是一个单进程,多线程的程序。

线程比进程快的原因:不用堆数据的复制

 

第三章源码包文件说明

Sql  [root@mysql1 sql]# vim mysqld.cc

Msyql主程序目录

[root@mysql1 sql]# ls sql*

Mysql服务器运行的主要程序

[root@mysql1 sql]# ls *insert*

mysql插入的源代码

[root@mysql1 sql]# ls *handler*

Cc 为鸡肋 h 为头文件

[root@mysql1 mysql-5.5.32]# ll storage/

存储引擎目录,实现了handler抽象接口。主要包括以下文件

archive    csv      federated  innobase  myisammrg  perfschema

blackhole  example  heap       myisam    ndb

Federated

操作远程表

Innobase  

支持事物  一般业务都是用这个存储引擎

Myisam

默认的存储引擎

/usr/src/mysql-5.5.32/mysys

Mysql为了实现跨平台对系统库进行的封装

/usr/src/mysql-5.5.32/vio

封装了各种网络协议的网络操作

/usr/src/mysql-5.5.32/libmysqld

Mysql链接库源代码

通过查找main 函数,可以看到mysql的启动流程。

Mysql支持插件式的存储引擎。(第三方公司可以开发自己的插件,放入进入,就可以执行自己的sql引擎。)

如果要开发自己的存储引起要开发这个鸡肋。