第一章命令及解释
show databases; |
查看数据库 |
create table t(id int,name varchar(20)); |
创建表 |
desc t; |
查看表结构 |
insert into t values(1,‘bbk‘); |
插入表 |
select * from t; |
查看表 |
delete from t; |
删除表中内容,不会删除表本身 |
show tables; |
查看表 |
select * from t; |
查看表中内容 |
第二章版本相关知识
Mysql命名机制使用由3个数字和一个后缀组成
5.0.9 5代表主版本号 0代表发行级别 9代表发行行系列的版本号
稳定性级别
Alpha 表明发行包含大量未被彻底测试的新代码
Bata 当alpha版本至少一个月没有出现报导的致命漏洞
Rc 是发布代表。是一个发行了一段时间的beta版,看起来应该运行正常,只增加了很小的修复。
如果没有后缀,这意味着该版本已经在很多地方运行一段时间了,而且没有非平台特定的缺陷报告(GA)版
获得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 [[email protected] sql]# vim mysqld.cc |
Msyql主程序目录 |
[[email protected] sql]# ls sql* |
Mysql服务器运行的主要程序 |
[[email protected] sql]# ls *insert* |
mysql插入的源代码 |
[[email protected] sql]# ls *handler* |
Cc 为鸡肋 h 为头文件 |
[[email protected] 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引擎。)
如果要开发自己的存储引起要开发这个鸡肋。
时间: 2024-12-26 18:37:17