MySQL日志管理(总结分享)(五大常见的MySQL高可用方案)
本篇文章給大家?guī)砹岁P(guān)于mysql的相關(guān)知識,其中主要整理了日志管理的相關(guān)問題,包括了錯(cuò)誤日志、通用查詢?nèi)罩尽⒍M(jìn)制日志等等內(nèi)容,下面一起來看一下,希望對大家有幫助。
推薦學(xué)習(xí):mysql視頻教程
MySQL的日志默認(rèn)保存在數(shù)據(jù)庫文件的存儲目錄(一般為/usr/local/mysql/data/)。也可以修改配置文件,自定義日志文件的保存位置。
我這里在編譯安裝時(shí),數(shù)據(jù)庫文件存儲目錄設(shè)置的是/home/mysql。
一、四種日志介紹
1.1 錯(cuò)誤日志
錯(cuò)誤日志,用來記錄當(dāng)MySQL啟動(dòng)、停止或運(yùn)行時(shí)發(fā)生的錯(cuò)誤信息,默認(rèn)已開啟。
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
登錄后復(fù)制
1.3 二進(jìn)制日志
二進(jìn)制日志(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/中
登錄后復(fù)制
1.4 慢查詢?nèi)罩?/h2>
慢查詢?nèi)罩荆脕碛涗浰袌?zhí)行時(shí)間超過long_query_time秒的語句,可以找到哪些查詢語句執(zhí)行時(shí)間長,以便于優(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í)間,設(shè)置超過5秒執(zhí)行的語句被記錄,缺省時(shí)為10秒
登錄后復(fù)制
二、配置四種日志:
步驟一:修改配置文件/etc/my.cnf
vim /etc/my.cnf [mysqld] ##錯(cuò)誤日志,用來記錄當(dāng)MySQL啟動(dòng)、停止或運(yùn)行時(shí)發(fā)生的錯(cuò)誤信息,默認(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 ##二進(jìn)制日志(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í)行時(shí)間超過long_query_time秒的語句,可以找到哪些查詢語句執(zhí)行時(shí)間長,以便于優(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í)間,設(shè)置超過5秒執(zhí)行的語句被記錄,缺省時(shí)為10秒
登錄后復(fù)制
步驟二:重啟服務(wù)
systemctl restart mysqld
三、查詢?nèi)罩臼欠褚验_啟
mysql -u root -p[密碼] #查看錯(cuò)誤日志存放位置 show variables like 'log_error'; #查看通用查詢?nèi)罩臼欠耖_啟 show variables like 'general%'; #查看二進(jìn)制日志是否開啟 show variables like 'log_bin%'; #查看慢查詢?nèi)展δ苁欠耖_啟 show variables like '%slow%'; #查看慢查詢時(shí)間設(shè)置 show variables like 'long_query_time'; #在數(shù)據(jù)庫中設(shè)置開啟慢查詢的方法,即以修改變量值的方式開啟。但重啟服務(wù)后會失效。 set global slow_query_log=ON;
登錄后復(fù)制
四、分割二進(jìn)制日志
mysql-bin.index 文件會對二進(jìn)制日志進(jìn)行分割。
每次重啟 mysql 或 在數(shù)據(jù)庫中 "flush logs"刷新日志之后,會生成一個(gè)新的二進(jìn)制日志。
推薦學(xué)習(xí):mysql視頻教程
以上就是MySQL日志管理(總結(jié)分享)的詳細(xì)內(nèi)容,更多請關(guān)注風(fēng)君子博客其它相關(guān)文章!
總結(jié)
以上是生活随笔為你收集整理的MySQL日志管理(总结分享)(五大常见的MySQL高可用方案)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP中全局变量如何定义?如何声明?其作
- 下一篇: cad怎么画45度角?cad画45度角的