自動(dòng)記錄到二進(jìn)制日志文件
成都創(chuàng)新互聯(lián)公司2013年至今,先為臨河等服務(wù)建站,臨河等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為臨河企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
這種日志是MySQL里面主從復(fù)制的核心,該日志就是記錄一系列改變的操作,比如更新數(shù)據(jù)、刪除數(shù)據(jù)、插入數(shù)據(jù)、增加索引、增加表等等,為什么要記錄這些改變呢?原因很簡(jiǎn)單,因?yàn)檫@些日志內(nèi)容將被從服務(wù)器重新執(zhí)行一遍,這樣才能夠?qū)崿F(xiàn)從服務(wù)器和主服務(wù)器里面的數(shù)據(jù)表和數(shù)據(jù)等等一致,當(dāng)然為了實(shí)現(xiàn)主從復(fù)制,這個(gè)日志還需要和重放日志一起配合使用。
1、首先找到MySQL的配置文件my.cnf,在[mysqld]下添加
2、general_log_file=~/query.log
3、同時(shí),登錄MySQL console中設(shè)置打開(kāi)log
4、mysql -uroot
5、 SET global general_log = 1;
6、重啟MySQL之后就可以在當(dāng)前用戶(hù)的HOME目錄中通過(guò)query.log查看SQL日志了。
(轉(zhuǎn)載)
如何開(kāi)啟windows mysql日志與查詢(xún)功能?請(qǐng)看本文吧。
修改 my.ini文件
加入以下語(yǔ)句(在沒(méi)有設(shè)置的前提下)
復(fù)制代碼代碼如下:
log-error=d:/log/mysql/mysql_log_err.txt
log=d:/log/mysql/mysql_log.txt
#log-bin=d:/log/mysql/mysql_log_bin
log-slow-queries= d:/log/mysql/mysql_log_slow.txt
使用以下命令查看是否啟用了日志
復(fù)制代碼代碼如下:
mysqlshow variables like ’log_%’;
其他:
1.錯(cuò)誤日志
記錄啟動(dòng)、運(yùn)行或停止mysqld時(shí)出現(xiàn)的問(wèn)題。
My.ini配置信息:
復(fù)制代碼代碼如下:
#Enter a name for the error log file. Otherwise a default name will be used.
#log-error=d:/mysql_log_err.txt
2.查詢(xún)?nèi)罩?/p>
記錄建立的客戶(hù)端連接和執(zhí)行的語(yǔ)句。
My.ini配置信息:
復(fù)制代碼代碼如下:
#Enter a name for the query log file. Otherwise a default name will be used.
#log=d:/mysql_log.txt
3.更新日志
記錄更改數(shù)據(jù)的語(yǔ)句。不贊成使用該日志。
My.ini配置信息:
復(fù)制代碼代碼如下:
#Enter a name for the update log file. Otherwise a default name will be used.
#log-update=d:/mysql_log_update.txt
4.二進(jìn)制日志
記錄所有更改數(shù)據(jù)的語(yǔ)句。還用于復(fù)制。
My.ini配置信息:
復(fù)制代碼代碼如下:
#Enter a name for the binary log. Otherwise a default name will be used.
#log-bin=d:/mysql_log_bin
5.慢日志
記錄所有執(zhí)行時(shí)間超過(guò)long_query_time秒的所有查詢(xún)或不使用索引的查詢(xún)。
My.ini配置信息:
復(fù)制代碼代碼如下:
#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
用下列方法可以強(qiáng)制服務(wù)器啟用新的MySQL更新日志: ◆ Mysqladmin flush-logs 你一般需要在命令行提供使用的數(shù)據(jù)庫(kù)用戶(hù): Mysqladmin –u root –p flush-logs ◆ Mysqladmin refresh 你一般需要在命令行提供使用的數(shù)據(jù)庫(kù)用戶(hù): Mysqladmin –u root –p refresh 如果你正在使用Mysql 3.21或更早的版本,你必須使用Mysqladmin refresh。 ◆ SQL命令FLUSH LOGS◆ 重啟服務(wù)器 上述方法都具有這樣的功能: 關(guān)閉并且再打開(kāi)標(biāo)準(zhǔn)和更新記錄文件。
MySQL分為兩大部分。上層是 MySQL-Server ,下層是 可插拔的存儲(chǔ)引擎 。
binlog 存放的位置由 datadir 參數(shù)控制
執(zhí)行下面的查詢(xún)語(yǔ)句即可:
目錄下有兩種文件: binlog.0000XX 和 binlog.index
一般關(guān)于binlog的配置都寫(xiě)在MySQL的配置文件中: my.cnf , 以方便啟動(dòng)mysql時(shí)直接讓這些配置生效
常見(jiàn)的binlog有如下的作用
在my.ini中加上下面兩句話
log-slow-queries = D:\wamp\mysql_slow_query.log
long_query_time=5
第一句使用來(lái)定義慢查詢(xún)?nèi)罩镜穆窂剑ㄒ驗(yàn)槭莣indows,所以不牽涉權(quán)限問(wèn)題)
第二句使用來(lái)定義查過(guò)多少秒的查詢(xún)算是慢查詢(xún),我這里定義的是5秒
第二步:查看關(guān)于慢查詢(xún)的狀態(tài)
執(zhí)行如下SQL語(yǔ)句來(lái)查看mysql慢查詢(xún)的狀態(tài)
show variables like '%slow%';
執(zhí)行結(jié)果會(huì)把是否開(kāi)啟慢查詢(xún)、慢查詢(xún)的秒數(shù)、慢查詢(xún)?nèi)罩镜刃畔⒋蛴≡谄聊簧稀?/p>
第三步:執(zhí)行一次慢查詢(xún)操作
其實(shí)想要執(zhí)行一次有實(shí)際意義的慢查詢(xún)比較困難,因?yàn)樵谧约簻y(cè)試的時(shí)候,就算查詢(xún)有20萬(wàn)條數(shù)據(jù)的海量表,也只需要0.幾秒。我們可以通過(guò)如下語(yǔ)句代替:
SELECT SLEEP(10);
第四步:查看慢查詢(xún)的數(shù)量
通過(guò)如下sql語(yǔ)句,來(lái)查看一共執(zhí)行過(guò)幾次慢查詢(xún):
show global status like '%slow%';
當(dāng)前題目:怎么用mysql寫(xiě)日志,mysql各種日志
網(wǎng)頁(yè)鏈接:http://vcdvsql.cn/article32/hecepc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、服務(wù)器托管、網(wǎng)站內(nèi)鏈、網(wǎng)站導(dǎo)航、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)