认识mysql--(mysql学习一)_MySQL
认识mysql--(mysql学习一)
mysql产品:cpl协议和商业版本
cpl协议:单机、集群版本
商业:经典、标准、企业、集群
二、存储引擎:
1、mysql server:mysqld程序.(类似于oracle的instance)
存储引擎:建表是要选存储引擎,不选默认是myIsam引擎
2、服务器和主机:客户端和服务器
parse-->optimize-->execute [mysql database management level |(mysqld)]
myIsam/innodb/mysql cluster/falcon/other... [storage engine implementation]
file system
hardware
三类程序:服务器程序、客户端程序、非客户端程序
客户端程序是通过服务器(mysqld)来访问,mysqld是通过存储引擎来访问数据的。非客户端程序可以直接访问存储引擎不需要通过mysqld来访问。
启动服务器:mysqld --console
关闭服务器:mysqladmin -uroot -poracle shutdown;
3、数据库逻辑上是表的集合,物理上是文件的集合。
建一个数据库就是建了一个文件夹,生成一个.opt文件存放数据库属性如字符集和校验等,建一个表就会根据不同的存储引擎产生不同的文件:
select @@datadir;配置数据库数据存放目录
select @@basedir;配置数据库根目录
都会建一个.frm文件,存放表结构.
myIsam引擎:会生成.myd(数据文件)、.myi(索引文件)
innodb引擎:会生成.idb或者.ibdata文件,看配置是用共享表空间存放数据和索引还是用独享表空间存放数据和索引,独享表空间存放的话每个表会生成一个.ibd文件。
select @@innodb_data_file_path;配置每一个文件的名称,也可以只配置该参数,而不配置..._home_dir.
select @@innodb_data_home_dir;配置ibdataba数据存放目录
4、mysql是单进程多线程
5、存储引擎在服务器和表级别都可以设置
show engines;--看你的mysql现在已提供什么存储引擎:
show variables like '%storage_engine%';--看你的mysql当前默认的存储引擎:
show create table 表名;--要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):
bitsCN.com