是否啟用了日誌
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指向另乙個表中的主...