MySQL日志管理(總結(jié)分享)

本篇文章給大家?guī)砹岁P(guān)于mysql的相關(guān)知識,其中主要整理了日志管理的相關(guān)問題,包括了錯誤日志、通用查詢?nèi)罩尽⒍M制日志等等內(nèi)容,下面一起來看一下,希望對大家有幫助。

MySQL日志管理(總結(jié)分享)

推薦學(xué)習(xí):mysql

mysql的日志默認(rèn)保存在數(shù)據(jù)庫文件的存儲目錄(一般為/usr/local/mysql/data/)。也可以修改配置文件,自定義日志文件的保存位置。

我這里在編譯安裝時,數(shù)據(jù)庫文件存儲目錄設(shè)置的是/home/mysql。

一、四種日志介紹

1.1 錯誤日志

錯誤日志,用來記錄當(dāng)MySQL啟動、停止或運行時發(fā)生的錯誤信息,默認(rèn)已開啟。

vim /etc/my.cnf[mysqld]log-Error=/home/mysql/mysql_error.log #指定日志的保存位置

1.2 通用查詢?nèi)罩?/h2>

通用查詢?nèi)罩荆脕碛涗汳ySQL的所有連接和語句,默認(rèn)是關(guān)閉的。

vim /etc/my.cnf    [mysqld]  general_log=ON  general_log_file=/home/mysql/mysql_general.log

1.3 二進制日志

二進制日志(binlog),用來記錄所有更新了數(shù)據(jù)或者已經(jīng)潛在更新了數(shù)據(jù)的語句,記錄了數(shù)據(jù)的更改,可用于數(shù)據(jù)恢復(fù),默認(rèn)已開啟。

vim /etc/my.cnf    [mysqld]  log-bin=mysql-bin      #也可以log_bin=mysql-bin  #使用相對路徑,則文件存儲在默認(rèn)目錄/usr/local/mysql/data/中

1.4 慢查詢?nèi)罩?/h2>

慢查詢?nèi)罩荆脕碛涗浰袌?zhí)行時間超過long_query_time秒的語句,可以找到哪些查詢語句執(zhí)行時間長,以便于優(yōu)化,默認(rèn)是關(guān)閉的。

 vim /etc/my.cnf    [mysqld]  slow_query_log=ON  slow_query_log_file=/home/mysql/mysql_slow_query.log   long_query_time=5    #慢查詢時間,設(shè)置超過5秒執(zhí)行的語句被記錄,缺省時為10秒

二、配置四種日志:

步驟一:修改配置文件/etc/my.cnf

vim /etc/my.cnf    [mysqld]  ##錯誤日志,用來記錄當(dāng)MySQL啟動、停止或運行時發(fā)生的錯誤信息,默認(rèn)已開啟  log-error=/home/mysql/mysql_error.log      ##通用查詢?nèi)罩荆脕碛涗汳ySQL的所有連接和語句,默認(rèn)是關(guān)閉的  general_log=ON  general_log_file=/home/mysql/mysql_general.log      ##二進制日志(binlog),用來記錄所有更新了數(shù)據(jù)或者已經(jīng)潛在更新了數(shù)據(jù)的語句,記錄了數(shù)據(jù)的更改,可用于數(shù)據(jù)恢復(fù),默認(rèn)已開啟  log-bin=mysql-bin      #也可以log_bin=mysql-bin  #使用相對路徑,則文件存儲在默認(rèn)目錄/home/mysql/中      ##慢查詢?nèi)罩荆脕碛涗浰袌?zhí)行時間超過long_query_time秒的語句,可以找到哪些查詢語句執(zhí)行時間長,以便于優(yōu)化,默認(rèn)是關(guān)閉的  slow_query_log=ON  slow_query_log_file=/home/mysql/mysql_slow_query.log   long_query_time=5    #慢查詢時間,設(shè)置超過5秒執(zhí)行的語句被記錄,缺省時為10秒

步驟二:重啟服務(wù)

systemctl restart mysqld

MySQL日志管理(總結(jié)分享)

?MySQL日志管理(總結(jié)分享)

三、查詢?nèi)罩臼欠褚验_啟?

mysql -u root -p[密碼]    #查看錯誤日志存放位置  show variables like 'log_error';         #查看通用查詢?nèi)罩臼欠耖_啟  show variables like 'general%';      #查看二進制日志是否開啟  show variables like 'log_bin%';         #查看慢查詢?nèi)展δ苁欠耖_啟  show variables like '%slow%';       #查看慢查詢時間設(shè)置  show variables like 'long_query_time';                            #在數(shù)據(jù)庫中設(shè)置開啟慢查詢的方法,即以修改變量值的方式開啟。但重啟服務(wù)后會失效。  set global slow_query_log=ON;

四、分割二進制日志

mysql-bin.index 文件會對二進制日志進行分割。

每次重啟 mysql 或 在數(shù)據(jù)庫中 “flush logs”刷新日志之后,會生成一個新的二進制日志。

MySQL日志管理(總結(jié)分享)

MySQL日志管理(總結(jié)分享)

推薦學(xué)習(xí):mysql

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊10 分享