<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在Linux中採用檔案系統管理磁碟,而Mysql常用的儲存引擎如InnoDB、MyISAM採用的是檔案儲存,自然和檔案系統掛鉤,那麼Mysql都有哪些地方用到了檔案系統呢?下面聊聊
Mysql系統啟動檔案(預設my.cnf)中可能會指定Mysql的一個全域性系統變數datadir,這個變數可以指定Mysql的資料儲存目錄,
如下:
或者採用查詢變數的形式獲取(下面所有演示截圖都是從這個目錄出發)
mysql> show variables like '%datadir%'; +---------------+-------------------------------+ | Variable_name | Value | +---------------+-------------------------------+ | datadir | /usr/local/mysql-5.7.26/data/ | +---------------+-------------------------------+ 1 row in set (0.00 sec)
每建立完一個資料庫會在預定義的datadir路徑下建立一個以資料庫名同名的資料夾
mysql> create database test_data; Query OK, 1 row affected (0.00 sec)
建立完test_data資料夾,會在該資料夾下建立一個db.opt的檔案,該檔案用於存放資料庫的屬性如字元集和比較規則。
有一點我們需要注意系統自帶的資料庫有四個分別是mysql(儲存Mysql使用者許可權等資訊)、information_schema(其它資料庫描述資訊)、performance_schema(儲存Mysql執行時狀態等)、sys(伺服器效能檢視),其中除information_schema外都會建立一個資料夾。
如給上述建立的test_data資料庫新建一個表
CREATE TABLE test_table ( name varchar(100) DEFAULT NULL ) ENGINE=InnoDB
那麼Mysql會在資料庫同名資料夾也就是test_data上新建一個同表名的檔案test_table.frm,這個檔案用於描述表的欄位,索引、約束等等
表資料儲存不同的儲存引擎,儲存檔案是不同的,以常用InnoDB和MyISAM舉例。
InnoDB儲存引擎都是以頁為單位管理儲存空間的,一個資料頁的大小為16k,而InnoDB為了方便管理引入表空間的概念,一個表空間中可能包含多個資料頁,當然表空間又分為幾種如下。
系統表空間
從Mysql版本5.5.7到5.6.6之間的版本預設將表資料放入系統表空間中,在預設情況下資料目錄的位置會自動生成一個檔名為ibdata1的檔案,該檔案大小為12M,
如下;
這個檔案的大小並不是固定的,可以自增長,這意味著該檔案儲存不下時可以自動擴充大小。
獨立表空間
在Mysql版本從5.6.6後不再儲存到系統表空間,而是儲存到獨立表空間,獨立意味著表與表之間的資料獨立開來,Mysql會為每一個表建立一個獨立的空間,有多少個表就有多少個獨立空間,所以當我們執行建表語句
-- 預設InnoDB儲存引擎 CREATE TABLE test_table ( name varchar(100) DEFAULT NULL ) ENGINE=InnoDB
會在當前資料庫同名的目錄下新建一個同表名的idb檔案:
至於使用者想選擇系統表空間還是獨立表空間可以由使用者自己決定,通過修改系統變數innodb_file_per_table
就可以實現,為0表示使用系統表空間,為1表示使用獨立表空間,這裡需要注意的是修改該系統引數只對新建表生效,至於修改系統引數之前的表需要手動修改。
MyISAM的儲存引擎和InnoDB儲存引擎在檔案系統上的最大區別就是MyISAM將索引和資料檔案分開,InnoDB強調的是索引既資料,就是因為這樣所以MyISAM儲存引擎的表由三個檔案描述
如下建立測試表:
CREATE TABLE `test_table_myisam` ( `name` varchar(100) DEFAULT NULL ) ENGINE=MyISAM
create view view_test as select * from test_table;
因為檢視本質就是虛擬表,僅僅是查詢語句的別名,儲存時不儲存檢視的資料,僅僅只儲存檢視的表結構,所以建立檢視僅僅會建立一個與檢視同名的frm檔案。
到此這篇關於Mysql和檔案系統的關聯詳情的文章就介紹到這了,更多相關Mysql檔案系統內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45