任何一種數據庫,都會擁有各種各樣的日志,mysql也不例外。
用來記錄數據庫運行情況,日志操作,錯誤信息等。
Mysql所支持的日志
在mysql的日志文件里,除了二進制日志,其它都是文本文件。
默認情況下,mysql軟件只會啟動錯誤日志文件,而其他日志文件則需要手動啟動。
二進制日志:該日志文件會以二進制的形式記錄數據庫的各種操作,但卻不記錄查詢語句。
錯誤日志:該日志文件會記錄mysql的服務器啟動,關閉和運時出錯等信息。
通用查詢日志:記錄客戶端連接信息,更新sql語句和查詢數據庫sql
慢查詢日志:記錄執行時間超過指定時間的各種操作
啟動日志有有點也有缺點
雖然能很好的維護mysql數據庫,但會降低執行速度,因此,是否啟動日志,啟動什么樣的日志要根據實際情況而定。
二進制日志
那么為什么要啟動二進制日志,如果mysql意外停止,,可以查看二進制文件來看用戶執行了哪些操作。,對數據服務器進行了哪些修改。,然后根據二進制文件記錄來和恢復數據庫服務器。
默認情況下是關閉的,可以修改mysql的配置文件my.ini
[mysqlId]
Log-bin[=dir\[filename]]
dir用來指定二進制的存儲路徑,finename 文件名,具體格式finename.number number的格式為000001,000002等。除了這個文件,還有一個關于二進制列表的文件filename.index
在啟動二進制日志時,最好不要和數據文件放在同一個路徑,當數據庫的磁盤遭到破壞后,就可以通過二進制文件進行恢復。
怎么查看二進制文件
直接打開會顯示亂碼,我們用mysqlbinlog命令來實現
例如:mysqlbinlog filename.number
停止二進制日志
如果想刪除二進制日志,只需要刪除配置文件的log-bin內容
如果你不想重啟mysql,你可以執行如下命令:
Set sql_log_bin=0
要需要再重啟,只需要執行:Set sql_log_bin=1
注意,只有擁有super權限的用戶才具備執行set命令的權力。
刪除二進制文件
需要執行命令,reset master(刪除所有二進制文件)、
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]]
查看的時候直接打開就行,如果想刪除錯誤日志
執行命令:mysqladmin -u -root -p flush-logs
然后舊的文件重命名為 filename.err-old,如果沒任何用處,可以直接刪除
通用查詢日志
通用查詢日志是mysql非常重要的查詢日志之一,主要記錄用戶關于mysql服務器的所有操作
如何啟動
修改配置文件my.ini
Log[=dir\[filename]]
停止這個日志記錄:
#Log[=dir\[filename]]
刪除:
mysqladmin -u -root -p flush-logs
清空所用日志,新建一個日志文件,如果你想備份,直接重命名,再執行命令。
慢查詢日志
啟動:
修改my.ini
Log-slow-queries[=dir\[filename]]
Log_query_time=n,開啟慢日志需要重啟服務器才能生效。
關閉服務有的業務場景是不允許的,我們執行命令
Set global slow_query_log=on;
Set global long_query_time=n;
如果想了解執行時間超過指定時間的查詢語句,可以查看慢日志。需要使用mysqldumpslowsql.pl工具
停止慢日志只需要把配置文件相應位置用#替換。
清空所用日志,新建一個日志文件,如果你想備份,直接重命名,再執行命令
-
數據庫
+關注
關注
7文章
3882瀏覽量
65549 -
MySQL
+關注
關注
1文章
840瀏覽量
27311 -
日志
+關注
關注
0文章
140瀏覽量
10781
發布評論請先 登錄
相關推薦
labview有調用mysql數據庫問題????
mysql數據庫同步原理

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

mysql是一個什么類型的數據庫
MySQL數據庫基礎知識
mysql數據庫基礎命令
數據庫數據恢復—未開啟binlog的Mysql數據庫數據恢復案例

MySQL數據庫的安裝

評論