好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Mysql文件存儲圖文詳解

Mysql文件存儲圖文詳解

熱門標簽:催天下外呼系統 南太平洋地圖標注 呂梁外呼系統 大豐地圖標注app html地圖標注并導航 武漢電銷機器人電話 400電話辦理服務價格最實惠 北京金倫外呼系統 400電話變更申請

什么是文件系統

我們知道像 InnoDB、MyIASM 這樣的存儲引擎都是把表存儲在磁盤上的(持久化)。當我們想讀取數據的時候,這些存儲引擎會從文件系統中把數據讀出來返回給我們, 當我們想寫入數據的時候,這些存儲引擎會把這些數據又寫回文件系統。

當然,MySQL除了存儲實際的數據,還存儲了一系列其他的日志,在這些也屬于文件系統。

存儲引擎的落盤文件地址

使用客戶端與服務器建立連接之后查看這個系統變量的值就可以了:

show variables like 'datadir';

當然這個目錄可以通過配置文件進行修改,由我們自己進行指定。

磁盤文件中的內容都是些什么

MySOL 在運行過程中都會產生哪些數據呢?當然會包含我們創建的數據庫、 表、視圖和觸發器等用戶數據,除了這些用戶數據,為了程序更好的運行,MySQL也會創建一些其他的額外數據。

數據庫Date目錄下的表信息

每當我們使用 CREATE DATABASE 語句創建一個數據庫的時候,在文件系統上實際發生了什么呢?其實很簡單,每個數據庫都對應數據目錄下的一個子目錄, 或者說對應一個文件夾,我們每當我們新建一個數據庫時,MySQL 會幫我們做這兩件事兒:

  • 在數據目錄下創建一個和數據庫名同名的子目錄(或者說是文件夾)。
  • 在該與數據庫名同名的子目錄下創建一個名為 db.opt 的文件,這個文件 中包含了該數據庫的各種屬性,比方說該數據庫的字符集和比較規則是個啥。 比方說我們查看一下在我的計算機上當前有哪些數據庫︰

可以看到在當前有 5 個數據庫,其中 mysqladv 數據庫是我們自定義的,其余 4 個數據庫是屬于 MySQL 自帶的系統數據庫。我們再看一下數據目錄下的內容:

當然這個數據目錄下的文件和子目錄比較多,但是如果仔細看的話,除了 information_schema 這個系統數據庫外,其他的數據庫在數居目錄下都有對應的 子目錄。這個 information_schema 比較特殊,我們后面再講它的作用。

InnoDB是如何存儲數據的

我們的InnoDB在添加一個數據庫,就會在日志根目錄中添加一個文件夾。

每一個文件夾中又存儲對應的所有表數據。每一個表的數據一般根據以下兩種規則進行劃分:

表結構的定義

我們以自己建立的study庫中的index_condition_pushdown表為例:

表結構就是這些數據,對應存儲的文件名為:

表結構就是該表的名稱是啥,表里邊有多少列,每個列的數據類型是啥,有啥約束條件和索引,用的是啥字符集和比較規則各種信息,這些信息都體現在了 我們的建表語句中了。為了保存這些信息,InnoDB 和 MyIASM 這兩種存儲引擎 都在數據目錄下對應的數據庫子目錄下創建了一個專門用于描述表結構的文件, 文件名是這樣:表名.frm

表中的數據

表所屬數據庫對應的子目錄下創建一個表示該獨立表空間的文件,文件名和表名相同,只不過添加了一個.ibd 的擴展名而已,所以完整的文件名稱長這樣:表名.ibd。

MyISAM是如何存儲表數據的

在 MyISAM 中的數據和索引是分開存放的。所以在文件系統中也是使用不同的文件來存儲數據文件和索引文件。(相比于InnoDB中,ibd文件存儲了數據+索引,MyISAM再次進行了拆分)。

如圖,我們更換存儲引擎。

文件目錄更換為了上圖。可以簡單理解為將InnoDB的.ibd文件進行了拆分,變為了以下兩個文件》

.MYD 代表表的數據文件。

.MYI 代表表的索引文件。

這里,也就總結除了InnoDB和MyISAM的一個重要區別。就是InnoDB的索引和數據都在一個文件夾中,而MyISAM則是將數據文件和索引文件分開存放在兩個文件中的。

日志文件

在服務器運行過程中,會產生各種各樣的日志,比如常規的查詢日志、錯誤日志、binlog日志、redo 日志、Undo 日志等等,日志文件記錄了影響 MySQL 數據庫的各種類型活動。 常見的日志文件有:錯誤日志(error log)、慢查詢日志(slow query log)、 查詢日志(query log)、二進制文件(bin log)。

錯誤日志

錯誤日志文件對 MySQL 的啟動、運行、關閉過程進行了記錄。遇到問題時 應該首先查看該文件以便定位問題。該文件不僅記錄了所有的錯誤信息,也記錄一些警告信息或正確的信息用戶可以通過下面命令來查看錯誤日志文件的位置:

show variables like 'log_error'\G;

當 MySQL 不能正常啟動時,第一個必須查找的文件應該就是錯誤日志文件, 該文件記錄了錯誤信息。

慢查詢日志

慢查詢日志可以幫助定位可能存在問題的 SQL 語句,從而進行 SQL 語句層面的優化。

查詢日志

查詢日志記錄了所有對 MySQL 數據庫請求的信息,無論這些請求是否得到了正確的執行。

默認文件名:主機名.log

從 MySQL 5.1 開始,可以將查詢日志的記錄放入 mysql 架構下的 general_log表

二進制日志(binlog)

二進制日志記錄了對 MySQL 數據庫執行更改的所有操作,若操作本身沒有 導致數據庫發生變化,該操作可能也會寫入二進制文件。但是不包括 select 和 show 這類操作(因為這些操作對數據本身不會進行修改)

binlog幾種作用

恢復(recovery)

某些數據的恢復需要二進制日志。

復制

其原理與恢復類似,通過復制和執行二進制日志使一 臺遠程的 MySQL 數據庫(一般稱為 slave 或 standby)與一臺 MySQL 數據庫(一 般稱為 master 或 primary)進行實時同步。

審計(有點冷門,db負責)

用戶可以通過二進制日志中的信息來進行審計,判斷是否有對數據庫進行注入的攻擊。

總結

到此這篇關于Mysql文件存儲的文章就介紹到這了,更多相關Mysql文件存儲內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • MySQL數據文件存儲位置的查看方法

標簽:西寧 迪慶 龍巖 無錫 自貢 徐州 麗水 南充

巨人網絡通訊聲明:本文標題《Mysql文件存儲圖文詳解》,本文關鍵詞  Mysql,文件,存儲,圖文,詳解,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Mysql文件存儲圖文詳解》相關的同類信息!
  • 本頁收集關于Mysql文件存儲圖文詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: bl无遮挡高h动漫| 缅甸一级卖婬片A片| 少妇装睡的从后面进来的原因 | 九色PORNY丨国产精品| 一级女性全黄久久生活片免费| 男同动漫Gay片cartoon| 18成禁人视频免费| 男女XXOO做爰猛烈动| 美女主播精品视频一二三四| 欧美人和黑人一进一出| 免费无遮挡很爽很污很黄| 翁熄性放纵第六篇| 短篇肉文| 调教室虐调教H打开腿np视| 国精产品自偷自偷观看| xxx护士丝袜激情| 国语对白刺激真实精品| 毛豆日产精品卡2卡3卡4卡免费| 日韩破处视频| 亚洲啪啪网| 小SAO货水好多真紧H无码视频| 处女娇娃性意浓| 男男肉粗暴进入小说男男| 欧美又大粗又爽又黄大片视频| 伦理片免费网站| 一级毛片免费观看| 久久国产精品岛国搬运工| 国产一级a爱做片免费☆观看| 崇左市| 篠田优被公侵犯电影| 硬的快软的也快| 欧美??码AV在线观看| 日本无遮挡边吃奶边做刺激视频| 91精品国产一区二区三区香蕉| 狠狠色噜噜色狠狠狠综合久久绑架| 吮吸花蕊| 嗯好大好爽不要了h| 久久久久国产一级毛片高清板| 激情综合网五月激情| 李闽轩免费无码AV| 国产美女作爱|