標籤:linux mysql
mysqlbinlog:
用於解析binlog日誌。在data目錄下面,mysql.index是mysqlbinlog的索引檔案。binlog的作用是記錄mysql內部的增刪改。不對select做記錄。
選項:
1.-d dbname:用於拆庫,把指定庫的二進位日誌分割出來
2.--start-position;--stop-position mysqldump mysql-bin.000006 --start-position=486 --stop-position=1156 > test.sql
master-data=
當為2時,會將master_log_pos那行注釋掉,當為1時,會將master_log_pos那行不注釋。
等於1的作用,當做主從同步的時候,使用--master-data=1,master_log_pos那行不注釋,將全備倒入到從庫執行時,master_log_pos會告訴應該從主庫的什麼地方開始進行恢複。
mysql資料庫中的記錄檔
錯誤記錄檔(error log):記錄mysql服務進程mysqld在啟動和關閉或運行過程中遇到的錯誤記錄檔
查詢日誌:
普通查詢日誌(query log):記錄用戶端串連資訊和執行sql語句資訊
慢查詢日誌(slow query log):記錄執行時間超出指定值的sql語句或者是執行沒有索引的sql語句(最佳化慢查詢sql語句是DBA要做的)
二進位日誌(binary log):記錄資料被修改的相關資訊:
錯誤記錄檔:在data資料目錄下以err結尾的
二進位日誌:bin-log
普通查詢日誌和慢查詢日誌一般不開啟,記錄檔太大了
對於普通日誌:
mysql> show variables like '%log%';
使用set將其開啟:
mysql> set global general_log = ON;Query OK, 0 rows affected (0.01 sec)
然後隨便建立或者查詢幾個表,都會在localhost.log這個檔案中記錄
慢查詢:(在/etc/my.cnf配置)
#查詢時間超過1秒的sql語句會被記錄
long_query_time=1
#記錄沒有使用索引的查詢
log_queries_not_using_indexes=1
#記錄慢查詢日誌的檔案地址
slow-query-log-file=/usr/local/mysql/localhost-slow.log
binlog日誌有3種模式。
mysql的服務日誌與備份命令