最近搞了一下网站迁移,因为主从同步有问题就又重新迁移回去了,结果解决同步的时候不清楚咋把另一个网站的数据库连接给干出Error了。Error如图所示(Error establishing a database connection)
确定密码是否正确
- 进网站目录查看
wp-config.php
的数据库信息。 -
用数据库登录信息测试密码
mysql -uUsername -p
- 如能成功登录则去核查相关表的权限是否存在,不能则切root用户更改密码。
# 我这里是5.7的版本
update mysql.user set authentication_string=password('passwd') where user='Username' and Host = 'localhost';
# 刷新权限
flush privileges;
- 如果root也切换不了,就改数据库配置,主要是在mysql配置文件中的
[mysqld]
加入如下内容即可。
#绕过密码验证
skip-grant-tables
- 如果不行,尝试数据库重启一下
核查权限
- 切表是否能切过去
use dbName;
- 不能则切换root用户赋予相关权限
mysql -uroot -p
grant all privileges on `database_name`.* to 'user_name'@'hostname';
修复数据库
- 在wp-config.php中添加如下代码
define('WP_ALLOW_REPAIR', true);
- 登录修复
https://yourdomain.com/wp-admin/maint/repair.php
,点击修复即可。
- 如果还修复不好,就看数据库备份情况了,我最后是启动debug模式(wp-config.php启用,登录后台看报错排查出是权限没授权对的问题)外加数据库备份恢复的。数据备份还是挺重要的,我可是踩过坑过来的人,满满的泪。
define( 'WP_DEBUG', true );