第六章 mysql日誌
一 錯誤日誌
錯誤日誌的預設存放路徑是 mysql 存放資料的地方 hostname.err
1. 修改錯誤日誌存放路徑
[mysqld]
log-error=/data/mysql/mysql.log
2. 檢視配置命令
show variables like "%log_error%";
3. 錯誤日誌作用
記錄mysql資料庫的一般狀態資訊及報錯資訊,是我們對於資料庫常規報錯處理的常用日誌
二 一般查詢日誌
1. 開啟一般查詢日誌
[mysqld]general_log=ongeneral_log_file=/data/mysql/server2.log
2. 檢視配置命令
show variables like '%gen%';
3. 一般查詢日誌作用
記錄mysql所有執行成功的sql語句資訊,可以做審計用,但很少開啟
三 二進位制日誌
1. 二進位制日誌都記錄了什麼
已提交的資料記錄, 以event的形式記錄到二進位制檔案中
2. 二進位制記錄格式的3種模式
① row 行模式,即資料行的變化過程 一般都是用這種
② statement 語句模式 可能不準確 比如now()
③ mixed: 以上兩者的混合模式
3. binlog的作用
備份恢復 複製
四 二進位制日誌管理
1. 開啟二進位制日誌
① 會話級別臨時關閉
set sql_log_bin=0
②全域性開啟二進位制日誌
[mysqld]
log-bin=/data/mysql/mysql-bin
2.二進位制日誌記錄格式(建議是row)
[mysqld]binlog-format=row
3. 日誌同步機制
[mysqld]sync_binlog=1
4. 二進位制日誌需要開啟的配置
vim /etc/my.cnflog-bin=/data/binlog
binlog_format=row
sync_binlog=1
5. 檢視設定
--檢視binlog日誌是否開啟
show variables like '%log_bin%';--檢視模式是否為row
show variables like '%binlog_format%';
6. 通過二進位制日誌修復資料
show binarylogs;
show binlog eventsin 'my-bin.000002'show master status;
mysqlbinlog --base64-output=decode-rows -v my-bin.000002
mysqlbinlog --start-position=120 --stop-position=721 my-bin.000002
mysqlbinlog --start-position=340 --stop-position=721 my-bin.000002 >/tmp/binlog.sql
讀取二進位制日誌 修復資料
source /tmp/binlog.log
7. 刪除二進位制日誌
預設情況下,不會刪除舊的日誌檔案。
根據存在時間刪除日誌:set global expire_logs_days = 90;
…或者…
purgebinary logs before now() - interval 3 day;
根據檔名刪除日誌:
purgebinary logs to 'mysql-bin.000010';
reset master;
五 慢日誌
1. 功能
slow-log,記錄所有條件內的慢的sql語句
優化的一種工具日誌。幫我們定位問題。
是將mysql伺服器中影響資料庫效能的相關sql語句記錄到日誌檔案
通過對這些特殊的sql語句分析,改進以達到提高資料庫效能的目的。
2. 慢日誌設定
long_query_time --設定慢查詢的閥值,超出次設定值的sql即被記錄到慢查詢日誌,預設值為10s
slow_query_log --指定是否開啟慢查詢日誌
slow_query_log_file --指定慢日誌檔案存放位置,可以為空,系統會給乙個預設的檔案host_name-slow.log
min_examined_row_limit --查詢檢查返回少於該引數指定行的sql不被記錄到慢查詢日誌
log_queries_not_using_indexes --不使用索引的慢查詢日誌是否記錄到索引
[mysqld]slow_query_log=1slow_query_log_file=/data/slow/slow.loglong_query_time=0.5log_queries_not_using_indexes
3. 處理慢日誌
mysqldumpslow命令
mysqldumpslow -s c -t 10 /data/slow/slow.logmysqldumpslow-s at -t 10 /data/slow/slow.log
這會輸出記錄次數最多的10條sql語句,
其中:-s 是表示按照何種方式排序
c、t、l、r分別是按照記錄次數、時間、查詢時間、返回的記錄數來排序。
ac、at、al、ar,表示相應的倒敘。
-t 是top n的意思,即為返回前面多少條的資料;
第六章 指標
1.多位元組資料的位址是在最左邊還是最右邊的位置,不同的機器有不同的規定,這也正是大端和小端的區別,位址也要遵從邊界對齊 2.高階語言的乙個特性就是通過名字而不是位址來訪問記憶體的位置,但是硬體仍然通過位址訪問記憶體位置 3.記憶體中的變數都是義序列的0或1的位,他們可以被解釋為整數或者其他,這取決...
第六章總結
6.1 使用滑鼠 6.1.1 滑鼠時間和滑鼠訊息 根據使用者操作滑鼠時滑鼠的位置,滑鼠訊息分為兩類 客戶區滑鼠訊息和非客戶區滑鼠訊息。1.客戶去滑鼠訊息 2.當滑鼠游標位於視窗的使用者區時,將生成客戶滑鼠訊息。滑鼠訊息和鍵盤訊息有所不同,windows 只將鍵盤有訊息傳送給具有輸入極點的視窗,但滑鼠...
第六章作業
例題6.1 舉例說明了指標的幾種表示形式,p指向指標指向的變數,p指向該變數的儲存位址,例題6.1 指標的幾種形式 自動化1121 李慶典 include 預編譯處理命令 using namespace std 標準名字空間 int main q 0 cout string1 is cout 例題6...