即時監控mysql資料庫變化

來源:互聯網
上載者:User

對於二次開發來說,很大一部分就找找檔案和找資料庫的變化情況

對於資料庫變化。還沒有發現比較好用的監控資料庫變化監視軟體。

今天,我就給大家介紹一個如何使用mysql內建的功能監控資料庫變化

1、開啟資料庫設定檔my.ini (一般在資料庫安裝目錄)(D:\MYSQL)

2、在資料庫的最後一行添加

log=log.txt

代碼

3、重啟mysql資料庫

4、去資料庫資料目錄 我的是(D:\MYSQL\data) 你會發現多了一個log.txt檔案

我的是在C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\data

測試:
1、對資料庫操作
2、查看log.txt檔案內容 如果發現有變化說明你就可以監控到mysql資料庫的變化
資料庫的查詢 刪除 更新 插入都可以查到

希望本篇文章可以協助大家更快的二次開發 ^_^

記錄檔類型概述:   1.錯誤記錄檔   記錄啟動、運行或停止mysqld時出現的問題。My.ini配置資訊:#Enter a name for the error log file.   Otherwise a default name will be used.#log-error=d:/mysql_log_err.txt2.查詢日誌    記錄建立的用戶端串連和執行的語句。My.ini配置資訊:#Enter a name for the query log file. Otherwise a default name will be used.#log=d:/mysql_log.txt3.更新日誌   記錄更改資料的語句。不贊成使用該日誌。My.ini配置資訊:#Enter a name for the update log file. Otherwise a default name will be used.#log-update=d:/mysql_log_update.txt4.二進位日誌    記錄所有更改資料的語句。還用於複製。My.ini配置資訊:#Enter a name for the binary log. Otherwise a default name will be used.#log-bin=d:/mysql_log_bin5.慢日誌    記錄所有執行時間超過long_query_time秒的所有查詢或不使用索引的查詢。My.ini配置資訊:#Enter a name for the slow query log file. Otherwise a default name will be used.#long_query_time =1#log-slow-queries= d:/mysql_log_slow.txt

在linux下:Sql代碼   1. # 在[mysqld] 中輸入   2. #log   3. log-error=/usr/local/mysql/log/error.log   4. log=/usr/local/mysql/log/mysql.log   5. long_query_time=2   6. log-slow-queries= /usr/local/mysql/log/slowquery.log # 在[mysqld] 中輸入 #log log-error=/usr/local/mysql/log/error.log log=/usr/local/mysql/log/mysql.log long_query_time=2 log-slow-queries= /usr/local/mysql/log/slowquery.logwindows下:Sql代碼   1. # 在[mysqld] 中輸入   2. #log   3. log-error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log"   4. log="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log"   5. long_query_time=2   6. log-slow-queries= "E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log" # 在[mysqld] 中輸入 #log log-error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log" log="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log" long_query_time=2 log-slow-queries= "E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"開啟慢查詢long_query_time =2 --是指執行超過多久的sql會被log下來,這裡是2秒log-slow-queries= /usr/local/mysql/log/slowquery.log --將查詢返回較慢的語句進行記錄log-queries-not-using-indexes = nouseindex.log --就是字面意思,log下來沒有使用索引的querylog=mylog.log --對所有執行語句進行記錄

日誌的存放:預設情況下,當開啟時,所有的日誌都存放在DataDir目錄下. 如果沒有指定名稱的話,它會以後主機名稱為名稱. 如主機名稱為songcomputer,則相關就的日誌為songcomputer.log檔案.

Mysql日誌的關閉與開啟:

使用以下命令查看是否啟用了日誌

  1. mysql>show variables like 'log_%’; 

 

凡Value值為OFF的表示未開啟服務,若要開啟只需要將上的my.ini配置資訊寫入(my.ini為mysql安裝目錄下),然後去掉前面的“#”
號,再重啟mysql服務。OK,現在會看到指定的記錄檔已建立。相反地,若要停止mysqlLog Service,只需要將my.ini中對應的配置資訊去掉即
可。

 

 

>>>>相應的使用慢日誌查詢

 

手動的去讀取慢日誌以及修改慢日誌的時間

 

show variables like 'long%'

會得到慢日誌的時間

 

進行設定慢日誌的值

set long_query_time =2; 

 

 

 

 

側重的二進位檔案

 

二進位日誌:

   
從概述中我可以看到my.ini配置資訊的log-bin沒有指定副檔名,這是因為即使你指定上副檔名它也不使用。當mysql建立二進位記錄檔
時,首先建立一個以“mysql_log_bin”為名稱,以“.index”為尾碼的檔案;再建立一個以“mysql_log_bin”為名稱,以
“.000001”為尾碼的檔案。當mysql服務重新啟動一次以“.000001”為尾碼的檔案會增加一個,並且尾碼名加1遞增;如果日誌長度超過了
max_binlog_size的上限(預設是1G)也會建立一個新的記錄檔;使用flush
logs(mysql命令符)或者執行mysqladmin –u –p flush-logs(windows命令提示字元)也會建立一個新的記錄檔。

既然寫入的都是位元據,用記事本開啟檔案是看不到正常資料的,那怎麼查看呢?

使用BIN目錄下mysqlbinlog命令,如:

Bin>mysqlbinlog d:/mysql_log/mysql_bin.000001

Bin>mysqlbinlog d:/mysql_log/mysql_bin.000002

Bin>mysqlbinlog d:/mysql_log/mysql_bin.000003

Bin>mysqlbinlog d:/mysql_log/mysql_bin.000004

Bin>mysqlbinlog d:/mysql_log/mysql_bin.000005

使用SQL語句也可查看mysql建立的二進位的檔案目錄:

 

  1. Mysql> show master logs; 

 

查看當前二進位檔案狀態:

 

  1. mysql> show master status;  

 

至於準確的看懂記錄檔,還需要讀者仔細閱讀,深深體會,這裡就不再奧述了!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.