Mysql學習筆記

2021-09-01 08:42:56 字數 3074 閱讀 5136

1、mysql日誌比較

日誌檔案

檔案中的資訊

作用

錯誤日誌

記錄啟動、執行或停止mysqld時出現的問題。

系統故障時定位故障原因

查詢日誌

記錄建立的客戶端連線和執行的語句。

記錄資料庫發生的所有操作

二進位制日誌

記錄所有更改資料的語句。

資料庫資料備份和複製

慢日誌記錄所有執行時間超過long_query_time秒的所有查詢或不使用索引的查詢。

定位系統效能問題,查詢有效能問題的sql語句

2、

錯誤日誌

作用:錯誤日誌檔案包含了當mysqld啟動和停止時,以及伺服器在執行過程中發生任何嚴重錯誤時的相關資訊。

使用:可以用--log-error[=file_name]選項來指定mysqld儲存錯誤日誌檔案的位置。如果沒有給定file_name值,mysqld使用錯誤日誌名host_name.err(host_name為主機名)並在資料目錄(datadir)中寫入日誌檔案。

清理:如果你執行flushlogs,錯誤日誌用-old重新命名字尾並建立乙個新的空日誌檔案:

shell>mv hostname.err  hostname-old.err

shell>mysqladmin flush-logs

shell>cp hostname-old.errto-backup-directory

shell>rm hostname-old.err

3、

查詢日誌

作用:查詢日誌記錄了客戶端的所有連線和語句(二進位制日誌不包括查詢語句。)當你想確切地知道該客戶端傳送給mysqld的語句時,該日誌可能非常有用

使用:可以用--log[=file_name]或-l [file_name]選項啟動mysqld的查詢日誌服務。如果沒有給定file_name的值,預設名是host_name.log

建議:不要開啟此日誌,以免影響系統整體效能

清理:同錯誤日誌。

4、

慢速查詢日誌

作用:慢查詢日誌記錄所有執行時間超過long_query_time秒的sql語句的日誌檔案。獲得初使表鎖定的時間不算作執行時間。

使用:可以用--log-slow-queries[=file_name]選項啟動,如果沒有給出file_name值,預設為host_name-slow.log。如果給出了檔名,但不是絕對路徑名,檔案則寫入資料目錄。

檢視:使用mysqldumpslow命令獲得日誌中顯示的查詢摘要來處理慢查詢日誌。

清理:同錯誤日誌。

5、

二進位制日誌

作用:二進位制日誌記錄所有更新了資料或者已經潛在更新了資料(例如,沒有匹配任何行的乙個delete)的所有語句。二進位制日誌的主要目的是在恢復使能夠最大可能地更新資料庫,因為二進位制日誌包含備份後進行的所有更新,還用於在主復**務器上記錄所有將傳送給從伺服器的語句。

使用:可以用--log-bin[=file_name]選項啟動。如果未給出file_name值,預設名為-bin後面所跟的主機名。如果給出了檔名,但沒有包含路徑,則檔案被寫入資料目錄(datadir)。如果你在日誌名中提供了副檔名(例如,--log-bin=file_name.extension),則副檔名被悄悄除掉並忽略。

清理:執行mysqladminflush-logs然後刪除三天前的所有日誌。手動刪除可以使用purge master logs,該語句還會安全地更新二進位制日誌索引檔案(可以採用日期引數)。自動刪除可以選擇設定--expire_logs_days=day,day天以前的資料會自動刪除。

其他:mysqld在每個二進位制日誌名後面新增乙個數字副檔名。每次你啟動伺服器或重新整理日誌時該數字則增加。如果當前的日誌大小達到max_binlog_size,還會自動建立新的二進位制日誌。如果你正使用大的事務,二進位制日誌還會超過max_binlog_size:事務全寫入乙個二進位制日誌中,絕對不要寫入不同的二進位制日誌中。為了能夠知道還使用了哪個不同的二進位制日誌檔案,mysqld還建立乙個二進位制日誌索引檔案,包含所有使用的二進位制日誌檔案的檔名。預設情況下與二進位制日誌檔案的檔名相同,擴充套件名為'.index'(可以用--log-bin-index[=file_name]選項更改二進位制日誌索引檔案的檔名)。

對於事務表,由於在執行完commit之前,mysqld將整個事務寫入二進位制日誌。當處理事務的執行緒啟動時,它為緩衝查詢分配binlog_cache_size大小的記憶體。如果語句大於該值,執行緒則開啟臨時檔案來儲存事務。執行緒結束後臨時檔案被刪除。將binlog_cache_size調節到足夠大的值,可以避免使用臨時檔案。(注:binlog_cache_use狀態變數顯示了緩衝區儲存語句的事務的數量。binlog_cache_disk_use狀態變數顯示了事務中實際上有多少必須使用臨時檔案。)

mysql學習筆記 51 mysql學習筆記

初學mysql時整理,隨時更新 資料操作 增 insert into 表名 字段列表 values 值列表 值列表 如果要插入的值列表包含所有字段並且順序一致,則可以省略字段列表。可同時插入多條資料記錄!replace 與 insert 完全一樣,可互換。insert into 表名 set 欄位名...

mysql學習筆記 51 Mysql 學習筆記

一.首先進入mysql mysql u root p新增使用者許可權設定 grant all privileges on to jerry localhost identified by aa1234567 只允許本機訪問 grant all privileges on to jerry 10.80...

mysql做筆記 mysql學習筆記

alter table 新增,修改,刪除表的列,約束等表的定義。檢視列 desc 表名 修改表名 alter table t book rename to bbb 新增列 alter table 表名 add column 列名 varchar 30 刪除列 alter table 表名 drop ...