組成MYSQL數(shù)據(jù)庫(kù)物理文件有哪幾部分-創(chuàng)新互聯(lián)

下面一起來(lái)了解下組成MYSQL數(shù)據(jù)庫(kù)物理文件有哪幾部分,相信大家看完肯定會(huì)受益匪淺,文字在精不在多,希望組成MYSQL數(shù)據(jù)庫(kù)物理文件有哪幾部分這篇短內(nèi)容是你想要的。

創(chuàng)新互聯(lián)IDC提供業(yè)務(wù):溫江服務(wù)器托管,成都服務(wù)器租用,溫江服務(wù)器托管,重慶服務(wù)器租用等四川省內(nèi)主機(jī)托管與主機(jī)租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機(jī)房,BGP機(jī)房,電信機(jī)房,移動(dòng)機(jī)房,聯(lián)通機(jī)房。

物理文件組成

日志文件:錯(cuò)誤日志,查詢?nèi)罩?,慢查詢?nèi)罩?,事?wù)日志,二進(jìn)制日志

日志是 mysql 數(shù)據(jù)庫(kù)的覺(jué)要組成部分。日志文件中記錄珩 mysql 數(shù)據(jù)庫(kù)運(yùn)行期間發(fā)生的變化,也就是說(shuō)用來(lái)記錄 mysql 數(shù)據(jù)庫(kù)的客戶端連接狀況、 SQL 語(yǔ)句的執(zhí)行情況和錯(cuò)誤信息

1.錯(cuò)誤日志(error log)

錯(cuò)誤日志功能默認(rèn)是開(kāi)啟的,存儲(chǔ)在mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)目錄中。

錯(cuò)誤日志文件通常名稱為hostname.err    hostname表示云服務(wù)器主機(jī)名

錯(cuò)誤日志信息也可以自己進(jìn)行配置,通過(guò)log-error和log-warnings,前者是定義存儲(chǔ)位置后者是定義是否將警告信息也定義到錯(cuò)誤日志中

注意,當(dāng)首次安裝mysql5.7時(shí)初始密碼會(huì)保存在錯(cuò)誤日志中

2.二進(jìn)制文件(binlog)

用于記錄修改數(shù)據(jù)或有可能引起數(shù)據(jù)改變的mysql語(yǔ)句,井且記錄語(yǔ)句發(fā)生時(shí)間執(zhí)行時(shí)長(zhǎng),操作的數(shù)據(jù)等

可以通過(guò)    show global variables like '%log_bin%';    進(jìn)行查詢

在主配置文件中加入     log-bin=file_name    打開(kāi)記錄功能,

MYSQL會(huì)將所有修改數(shù)據(jù)庫(kù)數(shù)據(jù)的query以二進(jìn)制形式記錄到日志文件中,日志文件中還包括每一條query所執(zhí)行的時(shí)間,所消耗的資源,以及相關(guān)的事務(wù)信息

binlog的附加選項(xiàng)參數(shù)

“max_binlog_size”    設(shè)置binlog的大存儲(chǔ)上限,一般設(shè)置為512M或1G,不可以超過(guò)1G當(dāng)日志達(dá)到上限時(shí)mysql會(huì)重新創(chuàng)建一個(gè)日志并繼續(xù)開(kāi)始記錄

binlog-do-db=db_name”    對(duì)某個(gè)db_name(數(shù)據(jù)庫(kù))記錄binlog,

如果有了"binlog-do -db=db_name"參數(shù)的顯式指定,MySQL會(huì)忽略針對(duì)其他數(shù)據(jù)庫(kù)執(zhí)行的query, 而僅僅記錄針對(duì)指定數(shù)據(jù)庫(kù)執(zhí)行的query

"binlog-ignore-db=db_name"與"binlog-do-db=db_name"完全相反,它顯式指定忽略某個(gè)(db_name)數(shù)據(jù)庫(kù)的binlog記錄, 當(dāng)指定了這個(gè)參數(shù)之后, MySQL會(huì)記錄指定數(shù)據(jù)庫(kù)以外所有的數(shù)據(jù)庫(kù)的binlog。

啟動(dòng)binlog記錄后,mysql數(shù)據(jù)庫(kù)目錄下還會(huì)生成一個(gè)mysql-bin.index文件

主要功能是記錄所有Binary Log 的絕對(duì)路徑, 保證MySQL各種線程能夠順利的根據(jù)它找到所有需要的Binary Log文件

MYSQL復(fù)制主要有三種方式:

基于SQL語(yǔ)句的復(fù)制(statement-based replication, SBR),

基于行的復(fù)制(row-based replication, RBR),

混合模式復(fù)制(mixed-based replication, MBR)

對(duì)應(yīng)的,binlog的格式也有三種: STATEMENT, ROW, MIXED。

statenment模式(SBR)

每一條會(huì)修改數(shù)據(jù)的sql語(yǔ)句會(huì)記錄到binlog中,優(yōu)點(diǎn)是不需要記錄每一行的數(shù)據(jù)變化

減少了binlog日志量,節(jié)約IO,提高性能,缺點(diǎn)是在某些情況下master-slave中的數(shù)據(jù)不一致

row模式(RBR)

不記錄每條SQL語(yǔ)句的信息,僅記錄那條數(shù)據(jù)被修改了,改成什么樣子,缺點(diǎn)是會(huì)產(chǎn)生大量日志,日志暴漲

mixed模式(MBR)

混合模式,以上兩種模式混合使用,一般的復(fù)制使用statement模式保存binlog,對(duì)于statement模式無(wú)法復(fù)制的操作使用row模式保存binlog,mysql會(huì)自行判斷何時(shí)使用

“sync_binlog=10”    設(shè)定多久同步一次二進(jìn)制日志到磁盤(pán)文件中 0表示不同步,1表示每條語(yǔ)句都同步

幾種查詢二進(jìn)制日志信息的方法

show binlog events\G;     查看所有二進(jìn)制信息

show bin log events in'mysql-bin.000001'\G;     查看指定的二進(jìn)制信息

show binlog events in 'mysql-bin.000001'from 727;     從指定的事件位置開(kāi)始

mysqlbinlog    mysql-bin.00001    在命令行下查看

幾種刪除二進(jìn)制日志信息的方法

purge binary logs to 'mysql-bin.000006';    刪除'mysql-bin.000006'之前的二進(jìn)制文件

reset master    刪除所有二進(jìn)制文件并重新生成一個(gè)為進(jìn)制文件

3.事務(wù)日志

事務(wù)日志 (InnoDB 特有的日志)可以幫助提高事務(wù)的效率。

使用事務(wù)日志, 存儲(chǔ)引擎在修改表的數(shù)據(jù)時(shí)只需要修改其內(nèi)存拷貝,再把修改行為記錄到持久在硬盤(pán)上的事務(wù)日志中,而不用每次都將修改的數(shù)據(jù)本身持久到磁盤(pán)。事務(wù)日志采用追加的方式,因此寫(xiě)日志的操作是磁盤(pán)上一小塊區(qū)域內(nèi)的順序I/O, 而不像隨機(jī)I/O需要在磁盤(pán)的多個(gè)地方移動(dòng)磁頭, 所以采用事務(wù)日志的方式相對(duì)來(lái)說(shuō)要快得多。

事務(wù)日志持久以后,內(nèi)存中被修改的數(shù)據(jù)在后臺(tái)可以慢慢的刷回到磁盤(pán)。

4.慢查詢?nèi)罩?/p>

慢查詢?nèi)罩局杏涗浀氖菆?zhí)行時(shí)間較長(zhǎng)的query,采用簡(jiǎn)單的文本格式記錄方便查看

通過(guò)慢查詢?nèi)罩?,可以查找出哪些查詢語(yǔ)句的執(zhí)行效率很低,以便進(jìn)行優(yōu)化

同樣也是在主配置中加入

“slow_query_log=1”開(kāi)啟,

“slow_query_log_file=/usr/local/mysql/data/mysqld-slow.log”存儲(chǔ)位置

 "long_query_time=1"    需要記錄的時(shí)間,

或者直接在數(shù)據(jù)庫(kù)中直接定義。

分析日志

進(jìn)入慢查詢?nèi)罩敬娣拍夸浭褂胢ysqldumpslow分析

“mysqldumpslow     mysqld-slow.log”

看完組成MYSQL數(shù)據(jù)庫(kù)物理文件有哪幾部分這篇文章后,很多讀者朋友肯定會(huì)想要了解更多的相關(guān)內(nèi)容,如需獲取更多的行業(yè)信息,可以關(guān)注我們的行業(yè)資訊欄目。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享文章:組成MYSQL數(shù)據(jù)庫(kù)物理文件有哪幾部分-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)于:http://muchs.cn/article48/dpioep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)、微信小程序、企業(yè)網(wǎng)站制作、標(biāo)簽優(yōu)化、響應(yīng)式網(wǎng)站、做網(wǎng)站

廣告

聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)