繁体   English   中英

用户'linuxuser'@'localhost'的访问被拒绝(使用密码:否)

[英]Access Denied for user 'linuxuser'@'localhost' (using password: no)

我的客户要求我将他的Wordpress网站从共享服务器移至AWS。

AWS EC2实例是带有MySQL 5.5.5和PHP 5.5.9的Ubuntu 14.04 LTS。 旧服务器具有PHP 5.4.30和MySQL 5.5.42。 AWS实例上没有安装PHPMyAdmin和CPanel。 所以我必须使用命令来做所有事情。

在AWS实例中,我具有“ ubuntu”用户的sudo访问权限。 我创建了一个新的Linux用户“ wpsite”并为其创建了主目录。 我设法将所有文件和目录从旧服务器传输到/home/wpsite/public_html

然后,我创建了一个新数据库'WP_DB'和一个新的MySQL用户'wp_db_user',并授予了对WP_DB的所有访问权限。

CREATE USER wp_db_user@localhost IDENTIFIED BY 'thepwd';
GRANT ALL PRIVILEGES ON WP_DB.* TO wp_db_user@localhost IDENTIFIED BY 'thepwd';
FLUSH PRIVILEGES;

现在,我更改了wp-config.php文件

define('DB_NAME', 'WP_DB');
define('DB_USER', 'wp_db_user');
define('DB_PASSWORD', 'thepwd');
define('DB_HOST', 'localhost');

然后,我使用wp_db_user帐户(也尝试了root用户)从sql dump中恢复了旧的WP数据库。 接下来,我使用适当的服务器名称和别名以及目录路径在Apache中创建了虚拟主机配置,并将域的A-Record更改为AWS实例。 至此,一切进展顺利。 没有错误。

当我访问该网站时,会显示wordpress网站,但问题是缺少某些内容,包括网站标题。 我查看了错误日志文件,此错误在多行中列出:

Access Denied for user 'ubuntu'@'localhost' (using password: no) in /home/wpsite/public_html/wp-content/themes/enterprise-pro/front-page.php on line 5

该行包含以下代码

$sel_home = mysql_query("select * from admin_home_page");

请注意,错误消息中提到的用户不是MySQL用户。 它是Linux用户。 我无法确定是Wordpress还是PHP版本还是MySQL问题。 我也不是Linux专业人士。 我已经完成了阅读博客和其他Stackoverflow问题的所有工作。

该网站在旧服务器上运行正常。 有人可以告诉我我做错了什么,如何解决这个问题?

提前致谢。

编辑 :我可以登录到WP管理部分,它使用相同的数据库而没有任何错误。

无论front-page.php为执行查询做什么,实际上并没有向MySQL提供密码(错误消息中的“使用密码:否”位)。 如果您可以弄清楚该脚本正在与数据库进行通讯,那么您也必须对其进行修改以提供密码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM