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

評論