解决wordpress提示Error establishing a database connection的办法
2016-11-02 17:26
281 查看
在网上搜索了不少的方法都没解决,但我们看上去错误提示应该是数据库配置的问题了,经过我反复的排查及网上文件参考还是解决了此问题,下面我们一起来看解决办法。
打开 wordpress提示
“Error establishing a database connection ”,这段话意思是连接数据时出现错误。
找到下面这些:
但还是解决不了于是就有了下面的解决过程,WORDPRESS出现这种情况的原因可能是:
1、无法连接到Wordpress使用的数据库。
你的wp-config.php中的数据库用户名和密码错误,或者你的数据库所在服务器挂掉了!也有可能是服务商短时间内限制(访问量突然暴涨的博客或使用一些消耗数据库连接的WP插件)。
解决办法是,确认wp-config.php中的用户名和密码信息正确。确认WP使用的数据库服务器没有挂掉(可以ping或直接重启?!)。确认数据库连接方式,是远程连接还是本地连接,有些配置的远程连接的可能出现连不上数据库的情况,也就会出现这个“Error establishing a database connection”提示,一般虚拟空间(GD的空间使用的远程数据库连接)或合租空间都是使用的本地连接(localhost)。
2、若服务器数据库是刚刚升级到 mysql 5.0 以上,之前WP博客正常可访问。
这可能是由于mysql 5.0采用了一种新的密码验证机制,这需要客户端的版本要在4.0以上(PHP中的MYSQL客户端可以查看phpinfo得到),连接数据库时是用旧的密码机制,这会出现“Client does not support authentication protocol requested by server” 这样的错误提示,wordpress中就提示“Error establishing a database connection (可能密码错误)”。
解决办法:
方法1、在mysql中为wordpress数据库新建一个控制账户,然后修改wp-config.php中的数据库用户名和密码配置信息即可。方便简单!!
方法2、在mysql下:
这里的clin003替换成使用wordpress数据库的用户名,clin003.com替换成localhost或者某个域名,newpwd是该用户对应的密码。
还有一点是,查看phpinfo(),找MYSQL_SOCKET显示的mysql.sock的路径,确认mysql.sock的确在此路径下,否则需要做一个符号链接。比如phpinfo里显示MYSQL_SOCKET路径为/var/lib/mysql/mysql.sock,但实际上位于 /tmp/mysql.sock,可在命令行输入:
3、mysql服务设置不当,导致mysql连接数量超过限定值,或者应用程序设计有问题,导致大量休眠连接不能及时释放。
解决办法:
登陆mysql服务器
查看当前连接数量,如果进程过多,或存在大量超时的休眠sleep连接,编辑
在[mysqld]字段处,添加,或去掉注释
max_connections = 500 #增加mysql连接数
wait_timeout = 10 #断开超过10秒的连接
4、是wp_options数据库表错误,我把整个数据库表修复和优化了一次
wp_options中的表前缀wp根据自己实际情况查看!
WORDPRESS出现错误时,可以通过 DEBUG 参数调试:
根据Wp-config.php的调试功能排错
1、在 wp-config.php 有个 debug 的参数,打开这个参数,修改为:
define(‘WP_DEBUG’, ‘true’);
2、根据报错提示解决问题,比如以下错误:
WordPress database error: [Table './clin003_com/wp_options' is marked as crashed and should be repaired]
SELECT autoload FROM wp_options WHERE option_name = ‘_transient_doing_cron’
WordPress database error: [Table './clin003_com/wp_options' is marked as crashed and should be repaired]
SELECT autoload FROM wp_options WHERE option_name = ‘_transient_timeout_doing_cron’
WordPress database error: [Table './clin003_com/wp_options' is marked as crashed and should be repaired]
SELECT option_value FROM wp_options WHERE option_name = ‘_transient_doing_cron’ LIMIT 1
wp_options 表坏了,需要被修复,使用 mysql 客户端。
进 mysql 使用修复的命令修复:
也可以通过phpMyAdmin来进行修复。
3、问题解决,关掉 DEBUG。
根据mysql的日志记录排错
在mysql的log日志文件
里面找到一个.err结尾的文件,打开。看见了一排
‘.\clin003_com\wp_options’ is marked as crashed and should be repaired
‘.\clin003_com\wp_options’ is marked as crashed and should be repaired
‘.\clin003_com\wp_options’ is marked as crashed and should be repaired
修复办法参考上面!
打开 wordpress提示
“Error establishing a database connection ”,这段话意思是连接数据时出现错误。
找到下面这些:
代码如下 | |
/** WordPress数据库的名称,替换掉 “putyourdbnamehere” */ define('DB_NAME', 'wordpress'); /** MySQL数据库用户名,替换掉 “usernamehere” */ define('DB_USER', 'root'); /** MySQL数据库密码,替换掉 “yourpasswordhere” */ define('DB_PASSWORD', 'root'); /** MySQL主机名 */ define('DB_HOST', 'localhost'); DB_NAME为WordPress数据库的名称 DB_USER为MySQL数据库用户名 DB_PASSWORD为MySQL数据库密码 DB_HOST为MySQL主机名,一般默认localhost不用修改,特殊的可以修改成 localhost:3306/wordpress 这种形式 |
1、无法连接到Wordpress使用的数据库。
你的wp-config.php中的数据库用户名和密码错误,或者你的数据库所在服务器挂掉了!也有可能是服务商短时间内限制(访问量突然暴涨的博客或使用一些消耗数据库连接的WP插件)。
解决办法是,确认wp-config.php中的用户名和密码信息正确。确认WP使用的数据库服务器没有挂掉(可以ping或直接重启?!)。确认数据库连接方式,是远程连接还是本地连接,有些配置的远程连接的可能出现连不上数据库的情况,也就会出现这个“Error establishing a database connection”提示,一般虚拟空间(GD的空间使用的远程数据库连接)或合租空间都是使用的本地连接(localhost)。
2、若服务器数据库是刚刚升级到 mysql 5.0 以上,之前WP博客正常可访问。
这可能是由于mysql 5.0采用了一种新的密码验证机制,这需要客户端的版本要在4.0以上(PHP中的MYSQL客户端可以查看phpinfo得到),连接数据库时是用旧的密码机制,这会出现“Client does not support authentication protocol requested by server” 这样的错误提示,wordpress中就提示“Error establishing a database connection (可能密码错误)”。
解决办法:
方法1、在mysql中为wordpress数据库新建一个控制账户,然后修改wp-config.php中的数据库用户名和密码配置信息即可。方便简单!!
方法2、在mysql下:
代码如下 | |
mysql> SET PASSWORD FOR -> ‘clin003′@’clin003.com’ = OLD_PASSWORD(‘newpwd’); mysql> FLUSH PRIVILEGES; |
还有一点是,查看phpinfo(),找MYSQL_SOCKET显示的mysql.sock的路径,确认mysql.sock的确在此路径下,否则需要做一个符号链接。比如phpinfo里显示MYSQL_SOCKET路径为/var/lib/mysql/mysql.sock,但实际上位于 /tmp/mysql.sock,可在命令行输入:
代码如下 | |
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock |
解决办法:
登陆mysql服务器
代码如下 | |
mysql -u root -p 使用命令 show processlist; |
代码如下 | |
/etc/mysql/my.cnf vim /etc/mysql/my.cnf |
max_connections = 500 #增加mysql连接数
wait_timeout = 10 #断开超过10秒的连接
4、是wp_options数据库表错误,我把整个数据库表修复和优化了一次
wp_options中的表前缀wp根据自己实际情况查看!
WORDPRESS出现错误时,可以通过 DEBUG 参数调试:
根据Wp-config.php的调试功能排错
1、在 wp-config.php 有个 debug 的参数,打开这个参数,修改为:
define(‘WP_DEBUG’, ‘true’);
2、根据报错提示解决问题,比如以下错误:
WordPress database error: [Table './clin003_com/wp_options' is marked as crashed and should be repaired]
SELECT autoload FROM wp_options WHERE option_name = ‘_transient_doing_cron’
WordPress database error: [Table './clin003_com/wp_options' is marked as crashed and should be repaired]
SELECT autoload FROM wp_options WHERE option_name = ‘_transient_timeout_doing_cron’
WordPress database error: [Table './clin003_com/wp_options' is marked as crashed and should be repaired]
SELECT option_value FROM wp_options WHERE option_name = ‘_transient_doing_cron’ LIMIT 1
wp_options 表坏了,需要被修复,使用 mysql 客户端。
进 mysql 使用修复的命令修复:
代码如下 | |
mysql>repair table wp_options; |
3、问题解决,关掉 DEBUG。
根据mysql的日志记录排错
在mysql的log日志文件
代码如下 | |
mysql/data/ |
‘.\clin003_com\wp_options’ is marked as crashed and should be repaired
‘.\clin003_com\wp_options’ is marked as crashed and should be repaired
‘.\clin003_com\wp_options’ is marked as crashed and should be repaired
修复办法参考上面!
相关文章推荐
- 解决:wordpress error establishing a database connection problem
- Windows Server 2008 r2 64bit 运行ASP提示ADODB.Connection error ‘800a0e7a’错误解决办法
- wordpress Error establishing a database connection
- Windows Server 2008 r2 64bit 运行ASP提示ADODB.Connection error ‘800a0e7a’错误解决办法
- Windows Server 2008 r2 64bit 运行ASP提示ADODB.Connection error ‘800a0e7a’错误解决办法
- Windows Server 2008 r2 64bit 运行ASP提示ADODB.Connection error ‘800a0e7a’错误解决办法
- DATABASE CONNECTION ERROR (1): THE MYSQL ADAPTER 'MYSQLI' IS NOT AVAILABLE.解决办法
- wordpress出现Error establishing a database connection
- WordPress搬家数据库问题 error establishing a database connection
- 端口错误安卓模拟器不能启动:The connection to adb is down, and a severe error has occurred的解决办法
- wordpress提示该 key 似乎无效的解决办法
- 安装Flash9时,提示“Error 1904.Module的解决办法
- Putty出现"Network error:Software caused connection abort"的解决办法
- 数据库报ORA-12519;java.sql.SQLException: Listener refused the connection with the following error解决办法
- The connection to adb is down, and a severe error has occured.解决办法
- [置顶] MongoVUE(1.6.9.0)登录提示:Connection was refused的解决办法
- 【LR11】Error -27796: Failed to connect to server"server:port": [10060] Connection timed out错误解决办法
- linux下解压大于4G文件提示error: Zip file too big错误的解决办法
- 黄聪:wordpress中PHP运行错最有效解决办法Fatal error: Out of memory (allocated 6029312)(转)
- python3使用pickle读取文件提示TypeError或者UnicodeDecodeError的解决办法