如果你不需要記錄2進(jìn)制log 就把這個(gè)功能關(guān)掉,注意關(guān)掉以后就不能恢復(fù)出問題前的數(shù)據(jù)了,需要您手動(dòng)備份,二進(jìn)制日志包含所有更新數(shù)據(jù)的語句,其目的是在恢復(fù)數(shù)據(jù)庫時(shí)用它來把數(shù)據(jù)盡可能恢復(fù)到最后的狀態(tài)。另外,如果做同步復(fù)制( Replication )的話,也需要使用二進(jìn)制日志傳送修改情況。 log_bin指定日志文件,如果不提供文件名,MySQL將自己產(chǎn)生缺省文件名。MySQL會(huì)在文件名后面自動(dòng)添加數(shù)字引,每次啟動(dòng)服務(wù)時(shí),都會(huì)重新生成一個(gè)新的二進(jìn)制文件。 此外,使用log-bin-index可以指定索引文件;使用binlog-do-db可以指定記錄的數(shù)據(jù)庫;使用binlog-ignore-db可以指定不記錄的數(shù)據(jù)庫。注意的是:binlog-do-db和binlog-ignore-db一次只指定一個(gè)數(shù)據(jù)庫,指定多個(gè)數(shù)據(jù)庫需要多個(gè)語句。而且,MySQL會(huì)將所有的數(shù)據(jù)庫名稱改成小寫,在指定數(shù)據(jù)庫時(shí)必須全部使用小寫名字,否則不會(huì)起作用。 關(guān)掉這個(gè)功能只需要在他前面加上#號(hào) #log-bin 開啟慢查詢?nèi)罩? slow query log ) 慢查詢?nèi)罩緦?duì)于跟蹤有問題的查詢非常有用。它記錄所有查過long_query_time的查詢,如果需要,還可以記錄不使用索引的記錄。下面是一個(gè)慢查詢?nèi)罩镜睦樱? 開啟慢查詢?nèi)罩荆枰O(shè)置參數(shù)log_slow_queries、long_query_times、log-queries-not-using-indexes。 log_slow_queries指定日志文件,如果不提供文件名,MySQL將自己產(chǎn)生缺省文件名。 long_query_times指定慢查詢的閾值,缺省是10秒。 log-queries-not-using-indexes是4.1.0以后引入的參數(shù),它指示記錄不使用索引的查詢。筆者設(shè)置long_query_time=10 筆者設(shè)置:
參數(shù)說明: 要求MySQL能有的連接數(shù)量。當(dāng)主要MySQL線程在一個(gè)很短時(shí)間內(nèi)得到非常多的連接請(qǐng)求,這就起作用,然后主線程花些時(shí)間(盡管很短) 檢查連接并且啟動(dòng)一個(gè)新線程。back_log值指出在MySQL暫時(shí)停止回答新請(qǐng)求之前的短時(shí)間內(nèi)多少個(gè)請(qǐng)求可以被存在堆棧中。只有如果期望在一個(gè)短時(shí)間內(nèi)有很多連接,你需要增加它,換句話說,這值對(duì)到來的TCP/IP連接的偵聽隊(duì)列的大小。你的操作系統(tǒng)在這個(gè)隊(duì)列大小上有它自己的限制。 Unix listen(2)系統(tǒng)調(diào)用的手冊(cè)頁應(yīng)該有更多的細(xì)節(jié)。檢查你的OS文檔找出這個(gè)變量的最大值。試圖設(shè)定back_log高于你的操作系統(tǒng)的限制將是無效的。 max_connections 并發(fā)連接數(shù)目最大,120 超過這個(gè)值就會(huì)自動(dòng)恢復(fù),出了問題能自動(dòng)解決 thread_cache 沒找到具體說明,不過設(shè)置為32后 20天才創(chuàng)建了400多個(gè)線程 而以前一天就創(chuàng)建了上千個(gè)線程 所以還是有用的 thread_concurrency #設(shè)置為你的cpu數(shù)目x2,例如,只有一個(gè)cpu,那么thread_concurrency=2 #有2個(gè)cpu,那么thread_concurrency=4 skip-innodb #去掉innodb支持 |
|