mysql 文件(配置文件,日志文件等)

my.cnf 配置文件

它會(huì)按照 /etc/my.cnf -> /etc/mysql/my.cnf -> /usr/local/mysql/my.cnf -> ~/.my.cnf? 這樣的一個(gè)優(yōu)先級(jí)順序去讀取配置文件 如果你想指定默認(rèn)的參數(shù)文件位置 需要配合 --defaults-file 參數(shù)

在mysql 中 mysql server 端核心參數(shù) 可以通過 show cariables like ‘%參數(shù)名稱%’ 來查看mysql數(shù)據(jù)庫中的參數(shù)

mysql 的參數(shù)類型分為 動(dòng)態(tài)參數(shù) 和靜態(tài)參數(shù)

動(dòng)態(tài)參數(shù)可以通過 set 方法來修改 可以直接通過語句 修改

set global 是代表全局參數(shù),修改完之后 重啟mysql 服務(wù) 依舊生效

set session? 代表回話參數(shù)? 修改完成之后重啟之后不會(huì)不再生效

靜態(tài)參數(shù) ,顧名思義 只能通過修改配置文件來達(dá)到目的

mysql日志

總結(jié): mysql日志 一共有6中? innodb日志一共有兩種

mysql日志分別為

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

二進(jìn)制日志(binary log)

慢查詢?nèi)罩荆╯low log)

? 全量日志(general log)

? 審計(jì)日志(audit log)

? 中繼日志(relay log)

innodb日志分別問

undo log

redo log

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

錯(cuò)誤日志 一般存放在數(shù)據(jù)目錄下,以error.log 作為文件名的結(jié)尾? 但是也有的是 存放在 /etc/log/mysql.log

查詢 error.log 的位置 sql

show variables like '%log_error%'

記錄mysq 啟動(dòng) 關(guān)閉 運(yùn)行 中的 異常信息

2二進(jìn)制文件日志(binary log)

show cariables like '%log_bin%'? 查詢binlog 的位置 和是否啟動(dòng)

它和redo log 一樣都是用于記錄對(duì)mysql 數(shù)據(jù)庫真正執(zhí)行更改的所有操作,而不記錄 show 和select 這樣的日志, 如果需要記錄這些日志的話 需要 開啟全量日志 general log? 開啟的話 會(huì)產(chǎn)生大量的日志 不建議開啟? 默認(rèn)也是關(guān)閉的

主要作用

可以完成主從復(fù)制功能, 在主服務(wù)器上把所有修改數(shù)據(jù)的操作記錄到binlog 中,通過網(wǎng)絡(luò)發(fā)送給從服務(wù)器 ,從服務(wù)器讀取這些 操作 從而達(dá)到主從同步

進(jìn)行恢復(fù)操作,數(shù)據(jù)可以通過 binlog 日志,使用musqlibnlog命令 實(shí)現(xiàn)基于時(shí)間點(diǎn)和位置的恢復(fù)操作

2 二進(jìn)制日志文件(binary log)

它和redo log 一樣是真正記錄對(duì)mysql 數(shù)據(jù)庫 執(zhí)行更改的所有操作,其中不包含沒有修改任何數(shù)據(jù)的語句,也不記錄select 和show這樣的語句? 如果需要記錄的話 需要開啟全量日志。(默認(rèn)是不開啟的 因?yàn)闀?huì)產(chǎn)生大量的日志)

它的主要作用 是? 可以完成主從復(fù)制功能,? 主服務(wù)器將修改數(shù)據(jù)的 操作記錄在文件中,通過網(wǎng)絡(luò)發(fā)送給從服務(wù)器,從而達(dá)到中從同步

同時(shí)他還用于 書的恢復(fù)操作,數(shù)據(jù)可以通過binlog日志 使用mysqlbinlog 命令來實(shí)現(xiàn)基于時(shí)間點(diǎn)和位置的數(shù)據(jù)恢復(fù)

3慢查詢?nèi)罩荆╯low log)

慢查詢?nèi)罩臼前阉?查過 參數(shù) long_query_time 時(shí)間的所有sql語句記錄進(jìn)來 幫助我們發(fā)現(xiàn)有問題的sql? 進(jìn)行sql 優(yōu)化使用的

可以使用 percona-rookit 工具 通過對(duì)應(yīng)的 slow log 來生成慢查詢報(bào)告

4全量日志(general log)

開啟的話 會(huì)記錄對(duì)mysql 所有的操作 包括 select 和 show 默認(rèn)是關(guān)閉的 因?yàn)閘og的量會(huì)非常大

5審計(jì)日志(audit log 收費(fèi)組件 只有購買企業(yè)版才能使用 )

6 中繼日志(relay log)

主從復(fù)制中 會(huì)將 主服務(wù)器發(fā)送過來的二進(jìn)制文件 (binary log) 使用I/O線程 讀取并且寫入本地relay log 中? 然后從服務(wù)器的sql 線程會(huì)讀取 relay log的日志內(nèi)容 并應(yīng)用到從服務(wù)器中

(詳細(xì)流程 到主從復(fù)制中寫)

存儲(chǔ)引擎層面的日志

7 redo log? 記錄事務(wù)操作變化 記錄的是數(shù)據(jù)被修改之后的值

8 undo 日志 記錄的是事物變成數(shù)據(jù)之前的值 mvcc 多版本控制就是使用undo log 和回滾段來實(shí)現(xiàn)的


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容