mysql產品:cpl協議和商業版本 mysql
cpl協議:單機、集羣版本 sql
商業:經典、標準、企業、集羣 數據庫
2、存儲引擎: 服務器
一、mysql server:mysqld程序.(相似於oracle的instance) 多線程
存儲引擎:建表是要選存儲引擎,不選默認是myIsam引擎。查看你的mysql當前默認的存儲引擎
show variables like '%storage_engine%'; oracle
二、服務器和主機:客戶端和服務器 線程
parse-->optimize-->execute [mysql database management level |(mysqld)] server
myIsam/innodb/mysql cluster/falcon/other... [storage engine implementation] 索引
file system 進程
hardware
三類程序:服務器程序、客戶端程序、非客戶端程序
客戶端程序是經過服務器(mysqld)來訪問,mysqld是經過存儲引擎來訪問數據的。非客戶端程序能夠直接訪問存儲引擎不須要經過mysqld來訪問。
啓動服務器:mysqld --console
關閉服務器:mysqladmin -uroot -poracle shutdown;
三、數據庫邏輯上是表的集合,物理上是文件的集合。
建一個數據庫就是建了一個文件夾,生成一個.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數據存放目錄
四、mysql是單進程多線程
五、存儲引擎在服務器和表級別均可以設置
show engines;--看你的mysql如今已提供什麼存儲引擎: show variables like '%storage_engine%';--看你的mysql當前默認的存儲引擎: show create table 表名;--要看某個表用了什麼引擎(在顯示結果裏參數engine後面的就表示該表當前用的存儲引擎):