mysql第六章 第六章 mysql日誌

2021-10-19 04:30:16 字數 2765 閱讀 1352

第六章 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...