繁体   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