MYSQL5.7/8.0支持的幾種日志文件
1、錯(cuò)誤日志(Error log)
MySQL 錯(cuò)誤日志記錄 MySQL 運(yùn)行過(guò)程中較為嚴(yán)重的警告和錯(cuò)誤信息,以及 MySQL 每次啟動(dòng)和關(guān)閉的詳細(xì)信息。
MySQL 錯(cuò)誤日志默認(rèn)是開啟的。可以通過(guò) MySQL 配置文件中的 log-error=/var/log/mysqld.log 配置,修改錯(cuò)誤日志的配置信息。
可以通過(guò)如下 SQL 查看錯(cuò)誤日志的詳細(xì)信息:
show variables like ‘%log_err%’;
注意點(diǎn):error log存放位置:/data/mysql_log/mysql-error-3306.log
vim mysql-error-3306.log 可查看日志內(nèi)容
2、一般或通用查詢?nèi)罩荆℅eneral query log)
記錄已連接MYSQL數(shù)據(jù)庫(kù)的客戶端所執(zhí)行的語(yǔ)句。
可以通過(guò)如下 SQL 查看當(dāng)前的通用日志是否開啟:
SHOW VARIABLES LIKE ‘%general%’;
mysql> SHOW VARIABLES LIKE '%general%';
+------------------+----------------------------+
| Variable_name | Value |
+------------------+----------------------------+
| general_log | ON |
| general_log_file | /data/mysql_data/query.log |
+------------------+----------------------------+
2 rows in set (0.00 sec)
開啟通用查詢?nèi)罩荆?br> set global general_log = on;
關(guān)閉通用查詢?nèi)罩荆?br> set global general_log = off;
配置文件中進(jìn)行配置:
開啟日志
general_log =1
日志位置
general_log_file =/data/mysql_data/query.log
查詢?nèi)罩居涗浟怂械牟樵冇涗洠?平時(shí)建議關(guān)閉,浪費(fèi)空間
[root@mysql8 etc]# cat /data/mysql_data/query.log
/usr/local/mysql/bin/mysqld, Version: 8.0.24 (MySQL Community Server - GPL). started with:
Tcp port: 3306 Unix socket: /data/mysql_data/mysql.sock
Time Id Command Argument
2023-07-30T08:49:14.667682+08:00 8 Connect root@localhost on using Socket
2023-07-30T08:49:14.667879+08:00 8 Query select @@version_comment limit 1
2023-07-30T08:49:21.131935+08:00 8 Query SHOW VARIABLES LIKE '%general%'
2023-07-30T08:50:51.850248+08:00 8 Query show databases
2023-07-30T08:50:56.199913+08:00 8 Query SELECT DATABASE()
2023-07-30T08:50:56.200093+08:00 8 Init DB hr
2023-07-30T08:50:56.200584+08:00 8 Query show databases
2023-07-30T08:50:56.200947+08:00 8 Query show tables
2023-07-30T08:50:56.202286+08:00 8 Field List aa
2023-07-30T08:50:56.205612+08:00 8 Field List demp
2023-07-30T08:50:56.206189+08:00 8 Field List demp1
2023-07-30T08:50:56.206691+08:00 8 Field List departments
2023-07-30T08:50:56.207686+08:00 8 Field List employees
2023-07-30T08:50:56.207961+08:00 8 Field List tb_cs
2023-07-30T08:50:56.207997+08:00 8 Field List tb_score
2023-07-30T08:50:56.208365+08:00 8 Field List test_mim
2023-07-30T08:50:56.208624+08:00 8 Field List testable
2023-07-30T08:51:08.537437+08:00 8 Query show databases
2023-07-30T08:51:17.392536+08:00 8 Query select * from mysql
2023-07-30T08:51:29.702097+08:00 8 Query SELECT DATABASE()
2023-07-30T08:51:29.702263+08:00 8 Init DB test
2023-07-30T08:51:29.702737+08:00 8 Query show databases
2023-07-30T08:51:29.703097+08:00 8 Query show tables
2023-07-30T08:51:29.703516+08:00 8 Field List emp
2023-07-30T08:51:35.461386+08:00 8 Query show tables
2023-07-30T08:51:41.102095+08:00 8 Query select * from emp
2023-07-30T08:58:54.674562+08:00 8 Query SHOW VARIABLES LIKE '%general%'
3、二進(jìn)制日志(Binary log)
MySQL 的二進(jìn)制日志(binary log)是一個(gè)二進(jìn)制文件
,主要用于記錄修改數(shù)據(jù)或有可能引起數(shù)據(jù)變更的 SQL 語(yǔ)句。二進(jìn)制日志(binary log)中記錄了對(duì) MySQL 數(shù)據(jù)庫(kù)執(zhí)行更改的所有操作
,并且記錄了語(yǔ)句發(fā)生時(shí)間、執(zhí)行時(shí)長(zhǎng)、操作數(shù)據(jù)等其它額外信息
,但是它不記錄 SELECT、SHOW 等那些不修改數(shù)據(jù)的 SQL 語(yǔ)句。二進(jìn)制日志(binary log)主要用于數(shù)據(jù)庫(kù)恢復(fù)和主從復(fù)制,以及審計(jì)(audit)操作
3、1 查看是否開啟二進(jìn)制日志
mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin | ON |
+---------------+-------+
1 row in set (0.00 sec)
系統(tǒng)變量log_bin的值為OFF表示沒(méi)有開啟二進(jìn)制日志(binary log)。ON表示開啟了二進(jìn)制日志(binary log)
3、2二進(jìn)制日志開啟
查看系統(tǒng)變量log_bin,如果其值為OFF,表示沒(méi)有開啟二進(jìn)制日志(binary log),如果需要開啟二進(jìn)制日志,則 在my.cnf中[mysqld]下面添加log-bin [=DIR[filename]] ,DIR參數(shù)指定二進(jìn)制文件的存儲(chǔ)路徑;filename參數(shù)指定二級(jí)制文件的文件名。 其中filename可以任意指定,但最好有一定規(guī)范。
3、3查看二進(jìn)制文件位置
mysql> show variables like 'datadir';
+---------------+-------------------+
| Variable_name | Value |
+---------------+-------------------+
| datadir | /data/mysql_data/ |
+---------------+-------------------+
二進(jìn)制文件存儲(chǔ)位置:/data/mysql_data/
3、4二進(jìn)制日志(Binary log) 的操作語(yǔ)句
/刪除所有二進(jìn)制日志文件:/
reset master
/刪除部分二進(jìn)制日志文件:/
purge master logs to/befor ‘a(chǎn)rgs’;
例如:
PURGE MASTER LOGS TO ‘mysql-bin.010’;
PURGE MASTER LOGS BEFORE ‘2021-06-02 22:46:26’;
/查看是否啟用二進(jìn)制日志:/
show variables like ‘%log_bin%’;
/查看所有的二進(jìn)制日志參數(shù)/
show variables like ‘%binlog%’;
/查看文件的位置/
show variables like ‘%datadir%’;
/查看當(dāng)前服務(wù)器所有的二進(jìn)制日志文件/
show binary logs;
show master logs;
4、 慢查詢?nèi)罩荆⊿low query log)
記錄所有執(zhí)行時(shí)間超過(guò) long_query_time 秒的查詢 SQL 或者沒(méi)有使用索引的查詢 SQL,默認(rèn)情況下,MySQL 不開啟慢查詢?nèi)罩荆?/code>
1.long_query_time值查詢語(yǔ)句: show variables like ‘long_query_time’;
2.long_query_time值修改語(yǔ)句: set long_query_time = 秒數(shù);
/查看當(dāng)前慢查詢?nèi)罩镜拈_啟情況:/
show variables like ‘%query%’;
mysql> show variables like '%query%';
+------------------------------+-------------------------------------+
| Variable_name | Value |
+------------------------------+-------------------------------------+
| binlog_rows_query_log_events | OFF |
| ft_query_expansion_limit | 20 |
| have_query_cache | NO |
| long_query_time | 1.000000 |
| query_alloc_block_size | 8192 |
| query_prealloc_size | 8192 |
| slow_query_log | ON |
| slow_query_log_file | /data/mysql_log/mysql-slow-3306.log
slow_query_log:ON 表示開啟慢查詢?nèi)罩荆琌FF 表示關(guān)閉慢查詢?nèi)罩?/p>
slow_query_log_file:記錄慢查詢?nèi)罩镜奈募刂罚J(rèn)為主機(jī)名.log)
long_query_time:指定了慢查詢的閾值,單位是秒,即執(zhí)行語(yǔ)句的時(shí)間若超過(guò)這個(gè)值則為慢查詢語(yǔ)句文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-551590.html
log_queries_not_using_indexes:ON 表示會(huì)記錄所有沒(méi)有利用索引來(lái)進(jìn)行查詢的語(yǔ)句,前提是 slow_query_log 的值也是 ON,否則,不會(huì)奏效,OFF 表示不會(huì)記錄所有沒(méi)有利用索引來(lái)進(jìn)行查詢的語(yǔ)句。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-551590.html
到了這里,關(guān)于MySQL物理文件----日志文件(錯(cuò)誤日志、通用查詢?nèi)罩?、二進(jìn)制日志、慢查詢?nèi)罩荆┑奈恼戮徒榻B完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!