【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 InnoDB日誌檔案配置MySql
- MySQL日誌管理,舊MySql
- 探究MySQL中的日誌檔案MySql
- mysql的日誌檔案詳解MySql
- Mysql日誌MySql
- Mysql慢查詢日誌檔案轉ExcelMySqlExcel
- MySQL技術內幕之“日誌檔案”MySql
- MySQL(3)-日誌MySql
- MySQL 五 日誌MySql
- sybase iq日誌檔案管理
- MySQL提升筆記(3)日誌檔案詳解MySql筆記
- MySQL 事務日誌MySql
- MySQL 的日誌:binlogMySql
- 【趙渝強老師】MySQL的binlog日誌檔案MySql
- mysql 資料儲存檔案及6類日誌MySql
- MySQL中的日誌檔案 你全都瞭解嗎?MySql
- 淺談MySQL日誌檔案|手撕MySQL|對線面試官MySql面試
- MySQL 日誌管理、備份與恢復MySql
- MySQL日誌管理,備份和恢復MySql
- MySQL-14.MySQL事務日誌MySql
- 【Oracle】歸檔日誌管理-設定歸檔日誌路徑以及歸檔日誌冗餘Oracle
- mysql審計日誌-ProxySQLMySql
- Mysql-binlog日誌-TMySql
- MySQL:慢查詢日誌MySql
- MySQL列印死鎖日誌MySql
- MySQL慢日誌全解析MySql
- MySQL的日誌總結MySql
- mysql開啟慢日誌MySql
- MySQL 通用查詢日誌MySql
- MySQL慢日誌優化MySql優化
- mysql 鎖的慢日誌MySql
- MySQL重做日誌(redo log)MySql
- Mysql事件監控日誌MySql事件
- 【趙渝強老師】MySQL的全量日誌檔案MySql
- MySQL資料庫中常見的日誌檔案彙總!MySql資料庫
- MySQL 修改InnoDB重做日誌檔案的數量或大小MySql
- [Mysql]日誌刷盤總結MySql