91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

組成MYSQL數據庫物理文件有哪幾部分

發布時間:2020-05-18 15:49:48 來源:網絡 閱讀:261 作者:三月 欄目:MySQL數據庫

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

物理文件組成

日志文件:錯誤日志,查詢日志,慢查詢日志,事務日志,二進制日志

日志是 mysql 數據庫的覺要組成部分。日志文件中記錄珩 mysql 數據庫運行期間發生的變化,也就是說用來記錄 mysql 數據庫的客戶端連接狀況、 SQL 語句的執行情況和錯誤信息

1.錯誤日志(error log)

錯誤日志功能默認是開啟的,存儲在mysql數據庫的數據目錄中。

錯誤日志文件通常名稱為hostname.err    hostname表示云服務器主機名

錯誤日志信息也可以自己進行配置,通過log-error和log-warnings,前者是定義存儲位置后者是定義是否將警告信息也定義到錯誤日志中

注意,當首次安裝mysql5.7時初始密碼會保存在錯誤日志中

2.二進制文件(binlog)

用于記錄修改數據或有可能引起數據改變的mysql語句,井且記錄語句發生時間執行時長,操作的數據等

可以通過    show global variables like '%log_bin%';    進行查詢

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

MYSQL會將所有修改數據庫數據的query以二進制形式記錄到日志文件中,日志文件中還包括每一條query所執行的時間,所消耗的資源,以及相關的事務信息

binlog的附加選項參數

“max_binlog_size”    設置binlog的最大存儲上限,一般設置為512M或1G,不可以超過1G當日志達到上限時mysql會重新創建一個日志并繼續開始記錄

binlog-do-db=db_name”    對某個db_name(數據庫)記錄binlog,

如果有了"binlog-do -db=db_name"參數的顯式指定,MySQL會忽略針對其他數據庫執行的query, 而僅僅記錄針對指定數據庫執行的query

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

啟動binlog記錄后,mysql數據庫目錄下還會生成一個mysql-bin.index文件

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

MYSQL復制主要有三種方式:

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

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

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

對應的,binlog的格式也有三種: STATEMENT, ROW, MIXED。

statenment模式(SBR)

每一條會修改數據的sql語句會記錄到binlog中,優點是不需要記錄每一行的數據變化

減少了binlog日志量,節約IO,提高性能,缺點是在某些情況下master-slave中的數據不一致

row模式(RBR)

不記錄每條SQL語句的信息,僅記錄那條數據被修改了,改成什么樣子,缺點是會產生大量日志,日志暴漲

mixed模式(MBR)

混合模式,以上兩種模式混合使用,一般的復制使用statement模式保存binlog,對于statement模式無法復制的操作使用row模式保存binlog,mysql會自行判斷何時使用

“sync_binlog=10”    設定多久同步一次二進制日志到磁盤文件中 0表示不同步,1表示每條語句都同步

幾種查詢二進制日志信息的方法

show binlog events\G;     查看所有二進制信息

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

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

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

幾種刪除二進制日志信息的方法

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

reset master    刪除所有二進制文件并重新生成一個為進制文件

3.事務日志

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

使用事務日志, 存儲引擎在修改表的數據時只需要修改其內存拷貝,再把修改行為記錄到持久在硬盤上的事務日志中,而不用每次都將修改的數據本身持久到磁盤。事務日志采用追加的方式,因此寫日志的操作是磁盤上一小塊區域內的順序I/O, 而不像隨機I/O需要在磁盤的多個地方移動磁頭, 所以采用事務日志的方式相對來說要快得多。

事務日志持久以后,內存中被修改的數據在后臺可以慢慢的刷回到磁盤。 

4.慢查詢日志

慢查詢日志中記錄的是執行時間較長的query,采用簡單的文本格式記錄方便查看

通過慢查詢日志,可以查找出哪些查詢語句的執行效率很低,以便進行優化 

同樣也是在主配置中加入

“slow_query_log=1”開啟,

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

  "long_query_time=1"    需要記錄的時間,

或者直接在數據庫中直接定義。

分析日志

進入慢查詢日志存放目錄使用mysqldumpslow分析    

“mysqldumpslow     mysqld-slow.log”

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

云南省| 衡山县| 石狮市| 福建省| 比如县| 元阳县| 九龙县| 莱芜市| 辽阳市| 香港| 上饶县| 开化县| 延川县| 连平县| 如皋市| 东光县| 柳江县| 策勒县| 东港市| 武冈市| 开远市| 关岭| 凉城县| 临海市| 秭归县| 梧州市| 高唐县| 南丹县| 贞丰县| 仪陇县| 龙州县| 平邑县| 抚顺县| 长春市| 昌江| 吉首市| 庐江县| 中西区| 石屏县| 桐乡市| 澎湖县|