2014-01-22 162 views
1

我有專門的服務器上有一個體面的內存(8GB以上)的WordPress安裝。WordPress的 - MySQL服務器已經消失

WordPress安裝包含許多插件 - 50個活動插件。最重要的是要注意的是使用WordPress的多語言插件WPML。主題是Weaver II Pro

堆棧是LAMP - CentOS 6.3,Apache 2.4.4,Percona MySQL,PHP-FPM。

我一直很蠢,沒有設置測試或臨時服務器。

一切都很好,直到我更新到WordPress 3.8,並同時更新了幾個插件。

我沒有時間留意,但我所有的部件弄亂,所以沒有任何形式的導航等

我error_log中啓用了一點,即

ini_set('log_errors',TRUE); 
ini_set('error_reporting', E_ALL); 
ini_set('error_log', dirname(__FILE__) . '/error_log.txt'); 

這導致了一個巨大的文件 - 基本上,error_log每4分鐘左右增長大約1 GB。

主要的錯誤,我在錯誤日誌中找到了數據庫服務器斷開連接,更好地稱爲

MySQL服務器已消失

的首要任務是修補問題。所以我安裝了Database Ping插件。這主要是,雖然沒有完全解決這個問題。許多小部件回來了。

但是,特殊(非英文)字符全部混亂(轉換爲問號)。我試圖通過打開wp-mysql-ping.php解決此問題並註釋掉

if (!DB_CHARSET && version_compare(mysql_get_server_info($this->dbh), '4.1.0', '>=')) 
            { 
             $this->query("SET NAMES '" . DB_CHARSET . "'"); 
            } 

沒有幫助。

此外,該插件不是一個永久或完整的解決方案。因此,留在這個搞砸了狀態的網站,我開始工作的其他可能性:

截至Rackspace建議,我編輯my.cnf中添加

wait_timeout = 60 

沒有幫助。

還增加了高速緩存到my.cnf文件

query_cache_type = 1 
query_cache_limit = 8M 
query_cache_size = 512M 

沒有幫助。

(是的,我每次編輯的my.cnf時間重新開始的MySQL)

也嘗試了方法suggested here: 在WP-分貝。前

$this->select($this->dbname, $this->dbh); 

PHP 我加

$this->query("set session wait_timeout=600"); 

沒有幫助。

我在我的智慧結束。請幫忙!

回答

1

將max_allowed_pa​​cket = 16M添加到my.cnf並重新啓動mysql。修復了數據庫超時錯誤。