mysql 日誌 鍵人岐

2021-06-19 06:30:37 字數 2194 閱讀 2888

是否啟用了日誌

mysql>show variables like 'log_%';

怎樣知道當前的日誌

mysql> show master status;

顯示二進位制日誌數目

mysql> show master logs;

看二進位制日誌檔案用mysqlbinlog

shell>mysqlbinlog mail-bin.000001

或者shell>mysqlbinlog mail-bin.000001 | tail

在配置檔案中指定log的輸出位置.

windows:windows 的配置檔案為 my.ini,一般在 mysql 的安裝目錄下或者 c:\windows 下。

linux:linux 的配置檔案為 my.cnf ,一般在 /etc 下。

1.錯誤日誌(error log)

mysql>show variables like 'log-error';

可以得到log-error變數的值,即錯誤日誌檔案的詳細位置,預設情況下,日誌會被儲存到資料庫目錄資料子目錄下,檔名是伺服器主機名.err檔案,如果需要設定錯誤日誌檔名,可以在配置檔案my.cnf中設定引數log-err

2.普通日誌(general log)

預設情況下,mysql不記錄普通日誌,因為普通日誌會記錄mysql客戶連線到mysql和從mysql斷開的資訊,並且包括伺服器接收到的每乙個sql語句(無論這些語句是否被正確執行),所以為了效能考慮,一般地只會開啟mysql的slow log(慢日誌)。

配置檔案log=

重啟mysql生效

設定日誌的輸出方式為檔案(如果設定log_output='table',則日誌會記錄到mysql.general_log表中)。

mysql>set global log_output=file;

設定general log 的日誌檔案路徑

mysql>set global general_log_file='./general_log.log';

開啟general log

mysql>set global general_log=on;

(設定引數--log-output=table,file可以同時記錄到檔案和資料庫,大概在my.cnf檔案中,不過沒起作用--!)

3.慢查詢日誌(slow log)

預設情況下,msyql也不記錄慢日誌,通過開啟慢查詢,找到影響效率的sql。

在配置檔案my.cnf中新增

log-slow-queries=slow-log.log

log_query_time=1

4.二進位制日誌(binary log)

主要用來資料恢復和資料複製,設定引數log-bin=啟動二進位制日誌,記錄資料定義語言(dll)和資料控制語言(dml),可以使用/bin/mysqlbinlog檢視日誌檔案。

mysql>reset master;刪除所有日誌,新日誌重新以000001開始編號,出現些小問題,如果指定二進位制日誌名,命令也只會刪除預設的日誌mysql-bin。

5.更新日誌已不能使用

參考 6.使用二進位制日誌備份mysql

使用命令

mysql>show binlog events \g

檢視當前使用的二進位制日誌,及日誌資料量

使用mysql工具mysqlbinlog恢復資料,如:

mysqlbinlog --stop-date="2005-04-20 9:59:59" /var/log/mysql/bin.123456  

| mysql -u root -pmypwd

上句命令表示恢復日誌

bin.123456中時間為

2005-04-20 9:59:59以前的資料,並提供使用者資訊。

引數--start-date指定開始時間,--start-position和--stop-position指定位置恢復

可以將日誌重定向輸出到指定的sql檔案,然後執行sql檔案恢復資料

mysqlbinlog --start-date="2005-04-20 9:55:00" --stop-date="2005-04-20 10:05:00" 

/var/log/mysql/bin.123456 > /tmp/mysql_restore.sql

參考 

mysql 日誌 部落格 Mysql 日誌

日誌 errlog錯誤日誌 作用記錄mysql從啟動以來,所有的狀態,警告,錯誤。dba靠此定位資料庫問題。配置預設是開啟,vim etc my.cnf log error var log mysqld.log binlog二進位制日誌 作用主要記錄資料庫變化的日誌。資料恢復,主從複製中應用 檢視再...

mysql部落格日誌 MySQL日誌

日誌檔案對於任何應用程式都是非常重要的,許多操作都需要記錄到日誌,然後可以利用日誌檔案查錯糾錯等。mysql中當然也有日誌,mysql的日誌大概分為五種,即錯誤日誌 查詢日誌 慢查詢日誌 二進位制日誌和事務日誌。檢視日誌相關的全域性變數。查詢日誌相關全域性變數 show global variabl...

mysql副鍵 mysql外來鍵

外來鍵是為了保證資料的完整性,但也會帶來許多 使用不當會使資料處理變得複雜,在資料量大的時候會明顯影響效能。所以,工具是工具,具體如何使用,根據自己情況取捨。注意 目前在mysql資料庫中,只有innodb儲存引擎支援外來鍵。外來鍵定義 兩個有關聯關係的表,其中乙個表中的某個欄位a指向另乙個表中的主...