MySQL8中的存儲(chǔ)引擎以及文件解析
MySQL存儲(chǔ)引擎以及文件解析
服務(wù)器中的目錄及文件
查看mysql的文件存儲(chǔ)路徑, 除了information_schema這個(gè)數(shù)據(jù)庫之外,其他數(shù)據(jù)庫都在當(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ù)庫中查看每一個(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ù)庫子目錄下
- 創(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ù)庫子目錄下創(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í)通過指定引擎
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ǔ)引擎使用及說明
- Mysql詳細(xì)剖析數(shù)據(jù)庫中的存儲(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ù)庫存儲(chǔ)引擎的應(yīng)用
- Mysql中的默認(rèn)存儲(chǔ)引擎
- 一文詳解MySQL 存儲(chǔ)引擎
相關(guān)文章
MySQL 四種事務(wù)隔離級(jí)別詳解及對(duì)比
這篇文章主要介紹了MySQL 四種事務(wù)隔離級(jí)別詳解及對(duì)比的相關(guān)資料,這里對(duì)Mysql 的基礎(chǔ)知識(shí)做了詳細(xì)介紹及對(duì)其事務(wù)隔離進(jìn)行了比較,需要的朋友可以參考下2016-12-12
MySQL索引的優(yōu)化之LIKE模糊查詢功能實(shí)現(xiàn)
這篇文章主要介紹了MySQL索引的優(yōu)化之LIKE模糊查詢功能實(shí)現(xiàn),本文通過示例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-04-04
mysql中數(shù)據(jù)庫與數(shù)據(jù)表編碼格式的查看、創(chuàng)建及修改
這篇文章給大家介紹了如何查看、創(chuàng)建以及修改數(shù)據(jù)庫與數(shù)據(jù)表的編碼格式,另外還給大家分享了添加和刪除外鍵的示例代碼,文中介紹的很詳細(xì),對(duì)大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,有需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。2016-11-11

