本篇內(nèi)容介紹了“MySQL數(shù)據(jù)庫有哪些文件”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
站在用戶的角度思考問題,與客戶深入溝通,找到綏棱網(wǎng)站設(shè)計(jì)與綏棱網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請(qǐng)域名、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋綏棱地區(qū)。
實(shí)例啟動(dòng)后,將自己唯一進(jìn)程號(hào)記錄到自己pid文件中,保存在數(shù)據(jù)目錄下。
注意:在配置文件my.cnf中必須配置pid-file=/data/mysql/mysql.pid,否則數(shù)據(jù)庫啟動(dòng)報(bào)錯(cuò)。
查看進(jìn)程,可看到文件路徑。
[root@localhost mysql]# ps -ef |grep mysql
root 20196 1 0 14:15 pts/1 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/mysql.pid
mysql 21556 20196 0 14:15 pts/1 00:00:06 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/error.log --open-files-limit=65535 --pid-file=/data/mysql/mysql.pid --socket=/tmp/mysql.sock --port=3306
數(shù)據(jù)庫兩種鏈接方式,網(wǎng)絡(luò)連接和本地連接
mysql.sock文件是服務(wù)器與本地客戶端進(jìn)行通信的unix套接字文件,默認(rèn)位置/tmp/mysql.sock
mysql8.0之前,以.frm結(jié)尾的文件是表結(jié)構(gòu)文件,從8.0開始,frm表的定義文件被消除掉,數(shù)據(jù)都寫到系統(tǒng)表空間,通過利用InnoDB引擎實(shí)現(xiàn)表的DDL語句操作原子性。此前版本無法實(shí)現(xiàn)表DDL語句操作的原子性,如truncate無法回滾。
問題:書中說mysql的truncate能回滾?查相關(guān)資料,沒說能回滾的。
前面測(cè)試創(chuàng)建表的,在目錄下可看到該表文件,
# ls t.*
t.frm t.ibd
InnoDB存儲(chǔ)引擎層面主要分兩種日志:redo log 和 undo log
InnoDB多版本通過使用undo和回滾段實(shí)現(xiàn)
InnoDB是索引組織表,每行記錄都實(shí)現(xiàn)三個(gè)隱藏字段:
n DB_ROW_ID
n DB_TRX_ID:代表每行記錄的事務(wù)ID
n DB_ROLL_PTR:代表每行記錄的回滾指針。
InnoDB有一個(gè)全局事務(wù)鏈表,每個(gè)事務(wù)的開始都會(huì)把事務(wù)ID放到鏈表中,DB_ROLL_PTR指針指向undo記錄,構(gòu)造多版本。
redo log用于記錄事務(wù)操作變化,記錄的是數(shù)據(jù)被修改之后的值。
undo日志文件
undo記錄(insert,update,delete),只記錄變更前的舊數(shù)據(jù),默認(rèn)記錄到系統(tǒng)表空間ibdata1,從5.6開始可以使用獨(dú)立undo表空間,可以把undo文件部署到單獨(dú)的高速存儲(chǔ)上。
undo log的主要參數(shù)
[mysql]>show variables like '%undo%';
+--------------------------+------------+
| Variable_name | Value |
+--------------------------+------------+
| innodb_max_undo_log_size | 1073741824 |
| innodb_undo_directory | ./ |
| innodb_undo_log_truncate | OFF |
| innodb_undo_logs | 128 |
| innodb_undo_tablespaces | 0 |
+--------------------------+------------+
innodb_undo_directory:undo文件的存儲(chǔ)目錄;
innodb_undo_logs:undo回滾段數(shù)量默認(rèn)128個(gè),可將大回滾段拆分成多個(gè)小回滾段,每個(gè)log segments最多存1024個(gè)事務(wù)。
innodb_undo_tablespaces代表undo tablespace的個(gè)數(shù),默認(rèn)0個(gè);表空間有undo log文件,默認(rèn)10M。undo tablespace數(shù)量最少2個(gè),以備truncate undo tablespace切換。
innodb_max_undo_size,5.7新增,默認(rèn)1G,達(dá)到閾值觸發(fā)truncate undo logs。truncate后的undo logs大小默認(rèn)恢復(fù)為10M??稍诰€刪除無用undo log,但需開啟innodb_undo_log_truncate,默認(rèn)關(guān)閉。
innodb_pure_rseg_truncate_frequency:5.7新增,控制回收undo log的頻率,默認(rèn)128.表示purge undo輪詢128次后,進(jìn)行一次undo的truncate操作;但undo log空間在回滾段沒有釋放前不會(huì)收縮。
“mysql數(shù)據(jù)庫有哪些文件”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
名稱欄目:mysql數(shù)據(jù)庫有哪些文件
標(biāo)題路徑:http://jinyejixie.com/article36/ghohsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、云服務(wù)器、網(wǎng)站維護(hù)、面包屑導(dǎo)航、網(wǎng)站導(dǎo)航、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)