簡體   English   中英

在Wordpress上建立數據庫連接時出錯

[英]Error establishing a database connection on wordpress

我有一個WordPress博客,但有時我對此有疑問

我有打擊錯誤

建立數據庫連接時出錯這意味着您的wp-config.php文件中的用戶名和密碼信息不正確,或者我們無法通過%s與數據庫服務器聯系。 這可能意味着您主機的數據庫服務器已關閉。

您確定您具有正確的用戶名和密碼嗎? 您確定輸入了正確的主機名嗎? 您確定數據庫服務器正在運行嗎? 如果不確定這些術語的含義,則應聯系您的房東。 如果您仍然需要幫助,可以隨時訪問WordPress支持論壇

這是我的配置文件

define('WP_HOME','http://www.mysite.com');
define('WP_SITEURL','http://www.mysite.come');
define('DB_NAME', 'mydbname');

/** MySQL database username */
define('DB_USER', 'dbusername');

/** MySQL database password */
define('DB_PASSWORD', 'dbpassword');

/** MySQL hostname */
define('DB_HOST', 'mysite.com');

為什么有時我會收到此錯誤,您如何看待這個問題?

我與我的管理員服務器聯系,他們說“我們的服務器和mysql服務沒有任何問題”

我的服務器有問題還是我的配置有問題?

嘗試將您的DB_HOST更改為localhost

** MySQL hostname */
define('DB_HOST', 'localhost');

此外,您是否已設置數據庫並在配置中填寫了用戶名,密碼和數據庫?

為什么有時我會收到此錯誤,您如何看待這個問題?

那是關鍵; 如果僅在某些情況下發生,則這是網絡主機上的間歇性問題。 Web主機需要在MySQL日志和PHP日志中查找連接錯誤,超時,MySQL崩潰等,這些都是指向間歇性問題的原因。

如果您始終遇到“建立數據庫連接時出錯”,則表明您在wp-config.php犯了一個確定的錯誤。

告訴網絡主機和管理員查看其日志,以查看MySQL服務器何時關閉以及原因。

如果這是您自己的服務器,則需要了解操作系統和其他詳細信息,以便可以在Stack Overflow中搜索相關信息。 日志位置因操作系統而異。

如果“有時”得到它,則意味着PHP Scrpt無法連接到數據庫。 各種原因之一可能是數據庫服務器關閉了一段時間。

如果您沒有使用MySql的默認端口3306,請提供帶有端口號的主機名。

define('WP_HOME','http://www.mysite.com');
define('WP_SITEURL','http://www.mysite.come');
define('DB_NAME', 'mydbname');

/** MySQL database username */
define('DB_USER', 'dbusername');

/** MySQL database password */
define('DB_PASSWORD', 'dbpassword');

/** MySQL hostname */
define('DB_HOST', 'localhost:3307'); //If you are not using default port number, do give post number along with localhost.

這會工作

您應該做的第一件事是確保在站點的前端和站點的后端(wp-admin)都收到相同的錯誤。 如果錯誤消息在“建立數據庫連接時出錯”兩個頁面上均相同,則繼續進行下一步。 如果在wp-admin上遇到其他錯誤,例如“一個或多個數據庫表不可用。 可能需要修復數據庫”,那么您需要修復數據庫。 您可以通過在wp-config.php文件中添加以下行來做到這一點:

define('WP_ALLOW_REPAIR',true);

http://cdn4.wpbeginner.com/wp2-9/dbrepair.gif

請記住,設置了此定義后,用戶無需登錄即可訪問此功能。 這是因為其主要目的是修復損壞的數據庫。數據庫損壞時,用戶通常無法登錄。 因此,一旦完成修復和優化數據庫的操作,請確保將其從wp-config.php中刪除。

關於LatestTutorial.com

從數據庫中獲取正確的數據庫主機名

對mysql使用以下查詢選擇@@ hostname; 將DB_HOST的值更改為上述查詢的輸出

首先鍵入mysql -u root -p並輸入您的mysql密碼,然后在mydbname上鍵入GRANT ALL PRIVILEGESES。* TO dbusername @ localhost ; 然后是沖洗特權; 最后退出

有時會發生這種情況,只是因為憑據不正確,所以請檢查您的憑據或嘗試重置用戶名和密碼,有時會出現主機問題,或者您可以修復數據庫,只需轉到wp-config文件並編寫define('WP_ALLOW_REPAIR',真正); 並對其進行修復,並且別忘了在修復后刪除此行。

如果您有時僅收到錯誤,則有很多原因可以解決此問題

  1. 如果您的數據庫很大,則無法處理查詢。 (您可能會在錯誤日志上看到“數據庫連接過多”或“用戶已經具有超過“ max_user_connections個活動連接”的錯誤。)因此,請嘗試減小數據庫表的大小。

  2. 如果后端和前端均出現錯誤,請檢查數據庫憑據是否正確。

  3. 如果錯誤僅在前端。 嘗試通過在wp-config.php中添加以下代碼行來修復數據庫

define('WP_ALLOW_REPAIR',true);

然后轉到“ http://www.yoursite.com/wp-admin/maint/repair.php ”,然后單擊“修復和優化數據庫”按鈕。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM