【MySQL日誌】MySQL日誌檔案初級管理
MySQL 日誌檔案初級管理
1. MySQL 有以下日誌檔案
error log (錯誤日誌)
bin log (二進位制日誌)
relary log (中繼日誌)
slow log (慢查詢日誌)
2. error log (錯誤日誌)
error log 用於記錄資料庫的錯誤資訊,預設情況下是開啟的。可以在客戶端中檢視 log_error 位置
mysql> show variables like 'log_error';
+---------------+---------------------+
| Variable_name | Value |
+---------------+---------------------+
| log_error | /var/log/mysqld.log |
+---------------+---------------------+
1 row in set (0.00 sec)
可以編輯my.cnf 檔案來修改錯誤日誌位置
在my.cnf 檔案中新增以下內容:
log-error=/var/log/mysqld.log
3. Binary log ( bin log )(二進位制檔案)
1) 設定binary log
二進位制檔案用於記錄MySQL 資料庫所有的資料修改操作,相當於 Oracle 的 redo log 。在備份和恢復過程中起作用,預設是不開啟的。
如要開啟,需要在my.cnf 檔案中新增以下內容:
log-bin=/usr/local/mysql/mysql-bin/slave
server-id=1 (這一行5.7 版本以後必須加)
注:mysql-bin 目錄必須存在且屬於 mysql 使用者
2) 建立以下資料夾並重啟MySQL
# mkdir /usr/local/mysql/mysql-bin
# chown -R mysql:mysql /usr/local/mysql/mysql-bin
# service mysqld restart
在客戶端檢視
mysql> show variables like 'log_bin%';
+---------------------------------+----------------------------------------+
| Variable_name | Value |
+---------------------------------+----------------------------------------+
| log_bin | ON |
| log_bin_basename | /usr/local/mysql/mysql-bin/slave |
| log_bin_index | /usr/local/mysql/mysql-bin/slave.index |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
+---------------------------------+----------------------------------------+
5 rows in set (0.00 sec)
上面顯示的檔案就是 bin log
3) Binary log 的注意事項
- 重啟 mysqld 會截斷日誌 , 產生新日誌
- flush logs 會截斷日誌
- reset master 會刪除所有的 bin log (注意不要用)
4) 刪除部分bin log
-- 刪除指定檔案的 binlog ,會刪除這個日誌之前的所有 bin log
mysql> purge binary logs to 'salve.000004';
-- 刪除指定時間之前的 binlog
mysql> purge binary logs before '2020-03-20 16:10:14';
5) 檢視bin log
-- 直接檢視指定 bin log
# mysqlbinlog salve.000004
-- 根據時間檢視指定 bin log
datetime:
# mysqlbinlog slave.000004 --start-datetime="2020-03-20 16:10:14 "
# mysqlbinlog slave.000004 --stop-datetime="2020-03-20 1 7 : 30 : 00"
# mysqlbinlog slave.000004 --start-datetime="2020-03-20 16:10:14 " --stop-datetime="2020-03-20 1 7 : 30 : 00"
-- 根據位置檢視 bin log
position( 建議,比時間更精確 )
# mysqlbinlog mysql.000004 --start-position=260
-- 這裡的 260 指的是 binlog 裡面的 # at 260
# mysqlbinlog mysql.000004 --stop-position=520
# mysqlbinlog mysql.000004 --start-position=260 --stop-position=520
4. slow query log (慢查詢日誌)
慢查詢日誌用於記錄執行時間超過設定閾值的SQL ,預設是關閉的
1) 配置slow query log
需要在my.cnf 檔案,新增以下內容 :
slow_query_log=1
slow_query_log_file=/usr/local/mysql/mysql-slow/slow.log
long_query_time=3
-- 定義超過 3 秒的查詢為慢查詢
2) 建立上述資料夾,並重啟mysql
# mkdir /usr/local/mysql/mysql-slow
# chown -R mysql:mysql /usr/local/mysql/mysql-slow
# service mysqld restart
3) 檢視slow log
mysql> show variables like 'slow%';
+---------------------+--------------------------------------+
| Variable_name | Value |
+---------------------+--------------------------------------+
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | /usr/local/mysql/mysql-slow/slow.log |
+---------------------+--------------------------------------+
3 rows in set (0.00 sec)
---- end ----
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31529886/viewspace-2747693/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysql 日誌管理MySql
- mysql日誌管理MySql
- MySQL InnoDB日誌檔案配置MySql
- MySQL 日誌檔案 說明MySql
- MySQL日誌管理,舊MySql
- 探究MySQL中的日誌檔案MySql
- mysql的日誌檔案詳解MySql
- 管理日誌檔案
- mysql日誌MySql
- MySQL資料庫中的日誌檔案---(1)錯誤日誌MySql資料庫
- mysql 日誌之錯誤日誌MySql
- mysql 日誌之慢查詢日誌MySql
- mysql 主從日誌檔案mysql-bin檔案清除方法MySql
- MySQL資料庫中的日誌檔案---(4)配置日誌檔案輸出路徑MySql資料庫
- oracle 日誌檔案管理Oracle
- 日誌檔案的管理
- MySQL資料庫中的日誌檔案---(3)慢查詢日誌MySql資料庫
- MySQL資料庫中的日誌檔案---(2)普通查詢日誌MySql資料庫
- mysql 日誌之普通查詢日誌MySql
- 【Oracle日誌】- 日誌檔案重建Oracle
- MySQL(3)-日誌MySql
- MySQL 五 日誌MySql
- mysql清理日誌MySql
- MySQL技術內幕之“日誌檔案”MySql
- Mysql慢查詢日誌檔案轉ExcelMySqlExcel
- 對日誌檔案組和日誌檔案組成員的管理
- sybase iq日誌檔案管理
- mysql 日誌之二進位制日誌MySql
- MYSQL啟用日誌和檢視日誌MySql
- 日誌檔案和歸檔管理
- 管理mysql二進位制日誌MySql
- MySQL提升筆記(3)日誌檔案詳解MySql筆記
- MySQL中的幾類日誌檔案介紹MySql
- 日誌檔案
- mysql 查詢日誌MySql
- mysql查詢日誌MySql
- MySQL 日誌 undo | redoMySql
- 【資料】MySQL日誌MySql