認識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後面的就表示該表當前用的存儲引擎):