當(dāng)網(wǎng)站充斥著大量流量時(shí),通常會(huì)發(fā)生此建立數(shù)據(jù)庫(kù)連接錯(cuò)誤,原因是主機(jī)服務(wù)器無法處理負(fù)載(特別是共享主機(jī))。此時(shí)網(wǎng)站會(huì)變得非常慢,有些用戶甚至?xí)敵鲥e(cuò)誤。
建立數(shù)據(jù)庫(kù)連接時(shí)出錯(cuò)可能由多種原因引起,作為一個(gè)WordPress初學(xué)者,會(huì)非常頭疼。以前在自己的網(wǎng)站上遇到了這個(gè)問題,檢測(cè)并修復(fù)問題花了20多分鐘。在網(wǎng)上找相關(guān)資料的時(shí)候沒有很好的內(nèi)容,下面將介紹如何修復(fù)在WordPress中建立數(shù)據(jù)庫(kù)連接的錯(cuò)誤。
注意:在進(jìn)行數(shù)據(jù)庫(kù)更改之前,請(qǐng)先備份數(shù)據(jù)庫(kù)。
一、為什么會(huì)出現(xiàn)這個(gè)錯(cuò)誤?
簡(jiǎn)而言之,收到此錯(cuò)誤是因?yàn)閃ordPress無法建立數(shù)據(jù)庫(kù)連接,而WordPress無法建立數(shù)據(jù)庫(kù)連接的原因有很多。可能是數(shù)據(jù)庫(kù)登錄憑據(jù)錯(cuò)誤或已更改;或數(shù)據(jù)庫(kù)服務(wù)器沒有響應(yīng);也可能是數(shù)據(jù)庫(kù)已損壞。根據(jù)經(jīng)驗(yàn),大多數(shù)時(shí)候是由于服務(wù)器錯(cuò)誤而發(fā)生此錯(cuò)誤。
二、此錯(cuò)誤是否也出現(xiàn)在/ wp-admin /中?
第一件事,確認(rèn)在站點(diǎn)的前端和后端(wp-admin)上是否都收到相同的錯(cuò)誤。如果兩個(gè)頁(yè)面上的錯(cuò)誤消息相同“建立數(shù)據(jù)庫(kù)連接時(shí)出錯(cuò)”,則繼續(xù)執(zhí)行下一步。如果在wp-admin上遇到不同的錯(cuò)誤,例如“一個(gè)或多個(gè)數(shù)據(jù)庫(kù)表不可用”。可能需要修復(fù)數(shù)據(jù)庫(kù)“,然后需要修復(fù)數(shù)據(jù)庫(kù)。
可以通過在wp-config.php文件中添加以下代碼來解決。在wp-config.php文件中的“That’s all, stop editing! Happy blogging’行。
define(‘WP_ALLOW_REPAIR’, true);
完成后,您可以訪問此頁(yè)面查看設(shè)置:http://www.yoursite.com/wp-admin/maint/repair.php
請(qǐng)記住,設(shè)置此定義后,用戶無需登錄即可訪問此功能。這是因?yàn)樗闹饕康氖切迯?fù)損壞的數(shù)據(jù)庫(kù),用戶在數(shù)據(jù)庫(kù)損壞時(shí)通常無法登錄。因此,一旦完成修復(fù)和優(yōu)化數(shù)據(jù)庫(kù),請(qǐng)從wp-config.php中刪除它。如果此修復(fù)無法解決問題,或者在運(yùn)行修復(fù)時(shí)遇到問題,請(qǐng)繼續(xù)閱讀本文。
三、檢查WP-Config文件
WP-Config.php是整個(gè)WordPress安裝中最重要的文件,可以在此處指定WordPress連接數(shù)據(jù)庫(kù)的詳細(xì)信息。如果更改了root密碼或數(shù)據(jù)庫(kù)用戶密碼,則還需要更改此文件。我們應(yīng)該定期檢查wp-config.php文件中的所有內(nèi)容是否一致。
define(‘DB_NAME’, ‘database-name’);
define(‘DB_USER’, ‘database-username’);
define(‘DB_PASSWORD’, ‘database-password’);
define(‘DB_HOST’, ‘localhost’);
可能DB_Host值并不總是localhost,主機(jī)不同會(huì)有所不同。也可以通過用IP替換localhost來解決此問題。在本地服務(wù)器環(huán)境中運(yùn)行WordPress時(shí),常見這種問題。
define(‘DB_HOST’, ‘127.0.0.1:8889’);
IP將因在線網(wǎng)絡(luò)托管服務(wù)而異。如果此文件中的所有內(nèi)容都正確(請(qǐng)確保檢查拼寫錯(cuò)誤),那么可以說服務(wù)器端出現(xiàn)了問題。
四、檢查Web主機(jī)(MySQL服務(wù)器)
當(dāng)網(wǎng)站充斥著大量流量時(shí),通常會(huì)發(fā)生此建立數(shù)據(jù)庫(kù)連接錯(cuò)誤,原因是主機(jī)服務(wù)器無法處理負(fù)載(特別是共享主機(jī))。此時(shí)網(wǎng)站會(huì)變得非常慢,有些用戶甚至?xí)敵鲥e(cuò)誤。
想要測(cè)試MySQL服務(wù)器是否自己運(yùn)行,可以做一些事情。測(cè)試同一服務(wù)器上的其他站點(diǎn),看看他們是否遇到問題。如果他們也得到相同的錯(cuò)誤,那么你的MySQL服務(wù)器肯定存在問題。如果在同一主機(jī)帳戶上沒有其他站點(diǎn),只需轉(zhuǎn)到cPanel并訪問phpMyAdmin連接數(shù)據(jù)庫(kù)。如果可以連接,那么我們需要驗(yàn)證數(shù)據(jù)庫(kù)用戶是否具有足夠的權(quán)限。創(chuàng)建一個(gè)名為testconnection.php的新文件,并在其中粘貼以下代碼:
<?php
$link = mysqli_connect(‘localhost’, ‘username’, ‘password’);
if (!$link) {
die(‘Could not connect: ‘ . mysqli_error());
}
echo ‘Connected successfully’;
mysqli_close($link);
?>
確保替換用戶名和密碼。如果腳本連接成功,則表示具有足夠權(quán)限,并且還有其他錯(cuò)誤。返回到wp-config文件確認(rèn)所有內(nèi)容都正確(重新檢查拼寫錯(cuò)誤)。如果無法通過訪問phpMyAdmin連接到數(shù)據(jù)庫(kù),那么證明用戶沒有足夠的權(quán)限。





