MySQL8中的存儲(chǔ)引擎以及文件解析
MySQL存儲(chǔ)引擎以及文件解析
服務(wù)器中的目錄及文件
查看mysql的文件存儲(chǔ)路徑, 除了information_schema這個(gè)數(shù)據(jù)庫(kù)之外,其他數(shù)據(jù)庫(kù)都在當(dāng)前目錄存在文件夾
[root@MiWiFi-R3P-srv mysql]# pwd /var/lib/mysql [root@MiWiFi-R3P-srv mysql]# ll 總用量 188880 -rw-r-----. 1 mysql mysql 56 2月 14 21:09 auto.cnf -rw-r-----. 1 mysql mysql 1954 3月 18 03:49 binlog.000003 -rw-r-----. 1 mysql mysql 179 3月 18 04:40 binlog.000004 -rw-r-----. 1 mysql mysql 156 3月 18 04:41 binlog.000005 -rw-r-----. 1 mysql mysql 48 3月 18 04:41 binlog.index -rw-------. 1 mysql mysql 1680 2月 14 21:09 ca-key.pem -rw-r--r--. 1 mysql mysql 1112 2月 14 21:09 ca.pem -rw-r--r--. 1 mysql mysql 1112 2月 14 21:09 client-cert.pem -rw-------. 1 mysql mysql 1676 2月 14 21:09 client-key.pem -rw-r-----. 1 mysql mysql 196608 3月 18 05:28 '#ib_16384_0.dblwr' -rw-r-----. 1 mysql mysql 8585216 2月 14 21:09 '#ib_16384_1.dblwr' -rw-r-----. 1 mysql mysql 3515 3月 18 04:40 ib_buffer_pool -rw-r-----. 1 mysql mysql 12582912 3月 18 05:26 ibdata1 -rw-r-----. 1 mysql mysql 50331648 3月 18 05:28 ib_logfile0 -rw-r-----. 1 mysql mysql 50331648 2月 14 21:09 ib_logfile1 -rw-r-----. 1 mysql mysql 12582912 3月 18 04:41 ibtmp1 drwxr-x---. 2 mysql mysql 187 3月 18 04:41 '#innodb_temp' drwxr-x---. 2 mysql mysql 143 2月 14 21:09 mysql -rw-r-----. 1 mysql mysql 25165824 3月 18 05:26 mysql.ibd srwxrwxrwx. 1 mysql mysql 0 3月 18 04:41 mysql.sock -rw-------. 1 mysql mysql 5 3月 18 04:41 mysql.sock.lock -rw-r--r--. 1 mysql mysql 7 2月 14 21:09 mysql_upgrade_info srwxrwxrwx. 1 mysql mysql 0 3月 18 04:41 mysqlx.sock -rw-------. 1 mysql mysql 6 3月 18 04:41 mysqlx.sock.lock drwxr-x---. 2 mysql mysql 8192 2月 14 21:09 performance_schema -rw-------. 1 mysql mysql 1680 2月 14 21:09 private_key.pem -rw-r--r--. 1 mysql mysql 452 2月 14 21:09 public_key.pem -rw-r--r--. 1 mysql mysql 1112 2月 14 21:09 server-cert.pem -rw-------. 1 mysql mysql 1680 2月 14 21:09 server-key.pem drwxr-x---. 2 mysql mysql 48 2月 21 21:15 sharding_order drwxr-x---. 2 mysql mysql 28 2月 14 21:09 sys -rw-r-----. 1 mysql mysql 16777216 3月 18 05:28 undo_001 -rw-r-----. 1 mysql mysql 16777216 3月 18 05:28 undo_002 drwxr-x---. 2 mysql mysql 22 2月 14 22:53 user_149
進(jìn)入user_149數(shù)據(jù)庫(kù)中查看每一個(gè)表對(duì)應(yīng)有一個(gè)表示獨(dú)立表空間 .ibd 結(jié)尾的文件進(jìn)行存儲(chǔ)
[root@MiWiFi-R3P-srv mysql]# cd user_149/ [root@MiWiFi-R3P-srv user_149]# ll -rw-r-----. 1 mysql mysql 114688 3月 18 05:39 role.ibd -rw-r-----. 1 mysql mysql 114688 2月 21 00:42 user.ibd
存儲(chǔ)引擎
InnoDB存儲(chǔ)引擎模式
表結(jié)構(gòu)
- 為了保存表結(jié)構(gòu),InnoDB在數(shù)據(jù)目錄下對(duì)應(yīng)的數(shù)據(jù)庫(kù)子目錄下
- 創(chuàng)建了一個(gè)專門用于描述表結(jié)構(gòu)的文件 表名.frm
- ps: MySQL8.0中不存在表名.frm(表結(jié)構(gòu)文件),并到了表名.ibd中
表中數(shù)據(jù)和索引
- 含MySQL 5.6.6之后版本中,InnoDB新建表不會(huì)默認(rèn)存到系統(tǒng)表空間,默認(rèn)使用獨(dú)立表空間
- 系統(tǒng)表空間(system tablespace)
- 默認(rèn)情況下,存放在
ibdata1
文件 - 獨(dú)立表空間(file-per-table tablespace)
- 會(huì)在數(shù)據(jù)庫(kù)子目錄下創(chuàng)建表名.ibd的文件
配置
[server] # 配置系統(tǒng)表空間對(duì)應(yīng)文件路徑以及大小,這個(gè)文件是自擴(kuò)展文件。 innodb_data_file_path=data1:512M;data2:512M:autoextend # 配置默認(rèn)表空間 0:代表使用系統(tǒng)表空間; 1:代表使用獨(dú)立表空間 innodb_file_per_table=0
MyISAM存儲(chǔ)引擎模式
默認(rèn)是使用InnoDB,需要?jiǎng)?chuàng)表時(shí)通過(guò)指定引擎
CREATE TABLE `user` ( `id` INT NOT NULL AUTO_INCREMENT, `username` VARCHAR (255) COLLATE utf8mb4_german2_ci DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE = MYISAM DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_german2_ci;
表結(jié)構(gòu)
- MySQL5.7中和InnoDB一樣,存儲(chǔ)在表名.frm中
- MySQL8.0中存儲(chǔ)在表名.xxx.sdi中
表中數(shù)據(jù)和索引
- MyISAM中索引都是二級(jí)索引, 數(shù)據(jù)和索引分開存放
- 表名.MYD(MYData)
- ? 數(shù)據(jù)信息文件,存儲(chǔ)數(shù)據(jù)信息
- 表名.MYI(MYIndex)
- ? 存放索引信息文件
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- MySql存儲(chǔ)引擎的作用
- MySQL之存儲(chǔ)引擎使用及說(shuō)明
- Mysql詳細(xì)剖析數(shù)據(jù)庫(kù)中的存儲(chǔ)引擎
- 關(guān)于Mysql的四種存儲(chǔ)引擎
- 關(guān)于MySQL的體系結(jié)構(gòu)及存儲(chǔ)引擎圖解
- MySQL存儲(chǔ)引擎的實(shí)現(xiàn)要素分析
- MySQL之修改數(shù)據(jù)表存儲(chǔ)引擎的三種方式
- MySQL如何改變表的存儲(chǔ)引擎方式
- MySQL數(shù)據(jù)庫(kù)存儲(chǔ)引擎的應(yīng)用
- Mysql中的默認(rèn)存儲(chǔ)引擎
- 一文詳解MySQL 存儲(chǔ)引擎
相關(guān)文章
Mysql查詢優(yōu)化的一些實(shí)用方法總結(jié)
對(duì)于MySQL查詢語(yǔ)句來(lái)說(shuō),效率是最重要的,下面這篇文章主要給大家介紹了關(guān)于Mysql查詢優(yōu)化的一些實(shí)用方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04MySQL校對(duì)規(guī)則(COLLATION)的具體使用
本文主要介紹了MySQL校對(duì)規(guī)則(COLLATION)的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08MySQL重復(fù)數(shù)據(jù)提取最新一條技術(shù)方法詳解
在MySQL數(shù)據(jù)庫(kù)中清除重復(fù)數(shù)據(jù)是一項(xiàng)常見的任務(wù),下面這篇文章主要給大家介紹了關(guān)于MySQL重復(fù)數(shù)據(jù)提取最新一條的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07數(shù)據(jù)庫(kù)中的SELECT語(yǔ)句邏輯執(zhí)行順序分析
這篇文章主要介紹了數(shù)據(jù)庫(kù)中的SELECT語(yǔ)句邏輯執(zhí)行順序分析,并列出了一些例子,需要的朋友可以參考下2014-07-07mysql開啟遠(yuǎn)程連接(mysql開啟遠(yuǎn)程訪問(wèn))
開啟MYSQL遠(yuǎn)程連接權(quán)限的方法,大家參考使用吧2013-12-12MySQL中having關(guān)鍵字詳解以及與where的區(qū)別
在MySQL中HAVING和WHERE是用于過(guò)濾數(shù)據(jù)的兩個(gè)重要的關(guān)鍵字,它們?cè)诓樵冋Z(yǔ)句中的位置和功能有所不同,這篇文章主要給大家介紹了關(guān)于MySQL中having關(guān)鍵字詳解以及與where區(qū)別的相關(guān)資料,需要的朋友可以參考下2024-07-07MySQL內(nèi)連接和外連接及七種SQL?JOINS的實(shí)現(xiàn)
這篇文章主要介紹了Mysql內(nèi)連接和外連接的區(qū)別以及七種SQL?Joins的實(shí)現(xiàn),相信看完這篇文章你對(duì)SQL內(nèi)外連接的多表查詢就足夠理解了,需要的朋友可以參考下2023-03-03解析如何使用Zend Framework 連接數(shù)據(jù)庫(kù)
本篇文章是對(duì)如何使用Zend Framework 連接數(shù)據(jù)庫(kù)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06