任何一種數(shù)據(jù)庫,都會(huì)擁有各種各樣的日志,mysql也不例外。
用來記錄數(shù)據(jù)庫運(yùn)行情況,日志操作,錯(cuò)誤信息等。
Mysql所支持的日志
在mysql的日志文件里,除了二進(jìn)制日志,其它都是文本文件。
默認(rèn)情況下,mysql軟件只會(huì)啟動(dòng)錯(cuò)誤日志文件,而其他日志文件則需要手動(dòng)啟動(dòng)。
二進(jìn)制日志:該日志文件會(huì)以二進(jìn)制的形式記錄數(shù)據(jù)庫的各種操作,但卻不記錄查詢語句。
錯(cuò)誤日志:該日志文件會(huì)記錄mysql的服務(wù)器啟動(dòng),關(guān)閉和運(yùn)時(shí)出錯(cuò)等信息。
通用查詢?nèi)罩荆河涗浛蛻舳诉B接信息,更新sql語句和查詢數(shù)據(jù)庫sql
慢查詢?nèi)罩荆河涗泩?zhí)行時(shí)間超過指定時(shí)間的各種操作
啟動(dòng)日志有有點(diǎn)也有缺點(diǎn)
雖然能很好的維護(hù)mysql數(shù)據(jù)庫,但會(huì)降低執(zhí)行速度,因此,是否啟動(dòng)日志,啟動(dòng)什么樣的日志要根據(jù)實(shí)際情況而定。
二進(jìn)制日志
那么為什么要啟動(dòng)二進(jìn)制日志,如果mysql意外停止,,可以查看二進(jìn)制文件來看用戶執(zhí)行了哪些操作。,對(duì)數(shù)據(jù)服務(wù)器進(jìn)行了哪些修改。,然后根據(jù)二進(jìn)制文件記錄來和恢復(fù)數(shù)據(jù)庫服務(wù)器。
默認(rèn)情況下是關(guān)閉的,可以修改mysql的配置文件my.ini
[mysqlId]
Log-bin[=dir\[filename]]
dir用來指定二進(jìn)制的存儲(chǔ)路徑,finename 文件名,具體格式finename.number number的格式為000001,000002等。除了這個(gè)文件,還有一個(gè)關(guān)于二進(jìn)制列表的文件filename.index
在啟動(dòng)二進(jìn)制日志時(shí),最好不要和數(shù)據(jù)文件放在同一個(gè)路徑,當(dāng)數(shù)據(jù)庫的磁盤遭到破壞后,就可以通過二進(jìn)制文件進(jìn)行恢復(fù)。
怎么查看二進(jìn)制文件
直接打開會(huì)顯示亂碼,我們用mysqlbinlog命令來實(shí)現(xiàn)
例如:mysqlbinlog filename.number
停止二進(jìn)制日志
如果想刪除二進(jìn)制日志,只需要?jiǎng)h除配置文件的log-bin內(nèi)容
如果你不想重啟mysql,你可以執(zhí)行如下命令:
Set sql_log_bin=0
要需要再重啟,只需要執(zhí)行:Set sql_log_bin=1
注意,只有擁有super權(quán)限的用戶才具備執(zhí)行set命令的權(quán)力。
刪除二進(jìn)制文件
需要執(zhí)行命令,reset master(刪除所有二進(jìn)制文件)、
purge maste logs to 例如:purge maste logs to filename.number刪除編號(hào)小于number的日志。
和 purge master logs before 例如purge master logs before’yyyy-mm-dd hh:MM:ss’刪除指定時(shí)間之前的日志
操作錯(cuò)誤日志
在mysql的安裝路徑下找到data目錄,錯(cuò)誤文件通常的命名格式為:hostname.err。想要修改錯(cuò)誤日志的存放路徑只需要修改配置文件的
err-bin[=dir\[filename]]
查看的時(shí)候直接打開就行,如果想刪除錯(cuò)誤日志
執(zhí)行命令:mysqladmin -u -root -p flush-logs
然后舊的文件重命名為 filename.err-old,如果沒任何用處,可以直接刪除
通用查詢?nèi)罩?/p>
通用查詢?nèi)罩臼莔ysql非常重要的查詢?nèi)罩局?,主要記錄用戶關(guān)于mysql服務(wù)器的所有操作
如何啟動(dòng)
修改配置文件my.ini
Log[=dir\[filename]]
停止這個(gè)日志記錄:
#Log[=dir\[filename]]
刪除:
mysqladmin -u -root -p flush-logs
清空所用日志,新建一個(gè)日志文件,如果你想備份,直接重命名,再執(zhí)行命令。
慢查詢?nèi)罩?/p>
啟動(dòng):
修改my.ini
Log-slow-queries[=dir\[filename]]
Log_query_time=n,開啟慢日志需要重啟服務(wù)器才能生效。
關(guān)閉服務(wù)有的業(yè)務(wù)場(chǎng)景是不允許的,我們執(zhí)行命令
Set global slow_query_log=on;
Set global long_query_time=n;
如果想了解執(zhí)行時(shí)間超過指定時(shí)間的查詢語句,可以查看慢日志。需要使用mysqldumpslowsql.pl工具
停止慢日志只需要把配置文件相應(yīng)位置用#替換。
清空所用日志,新建一個(gè)日志文件,如果你想備份,直接重命名,再執(zhí)行命令
-
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3926瀏覽量
66214 -
MySQL
+關(guān)注
關(guān)注
1文章
860瀏覽量
27929 -
日志
+關(guān)注
關(guān)注
0文章
144瀏覽量
10868
發(fā)布評(píng)論請(qǐng)先 登錄
labview有調(diào)用mysql數(shù)據(jù)庫問題????
mysql數(shù)據(jù)庫同步原理

MySQL數(shù)據(jù)庫如何安裝和使用說明
華為云數(shù)據(jù)庫-RDS for MySQL數(shù)據(jù)庫
有哪些不同的MySQL數(shù)據(jù)庫引擎?
MySQL數(shù)據(jù)庫管理與應(yīng)用
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MySQL數(shù)據(jù)庫表誤刪除記錄的數(shù)據(jù)恢復(fù)案例

mysql是一個(gè)什么類型的數(shù)據(jù)庫
MySQL數(shù)據(jù)庫基礎(chǔ)知識(shí)
oracle數(shù)據(jù)庫alert日志作用
mysql數(shù)據(jù)庫基礎(chǔ)命令
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—未開啟binlog的Mysql數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Mysql數(shù)據(jù)庫表記錄丟失的數(shù)據(jù)恢復(fù)流程

MySQL數(shù)據(jù)庫的安裝

評(píng)論