文档 下载安装 商店 博客 问答 主机

Access denied for user 'user'@'localhost' (using password: NO) 怎样解决?

magento2
mysql

#1

本人完全是个新手, 每一次架设 Magento2, 租了云, 放星加坡, 服务器租用: www.linode.com
环境:我按照 Linode 提供的教程已经把 Ubuntu + Nginx + MySQL + PHP 都安装好. ubuntu16.04 + Nginx 1.13.6 + MySQL 5.7 + PHP 7.1.11
Magento 版本: CE 2.2.1
新的库名 magento 已经建好在MySQL了
当我跑cd /var/www/html/bin
再跑以下
./magento setup:install --admin-firstname=“John” --admin-lastname=“Charles” --admin-email="your@email.com" --admin-user=“john” --admin-password=“password1” --db-name=“magento” --db-host=“localhost” --db-user=“magento” --db-password="password"
就出现了以下错误回传

SQLSTATE[HY000] [1045] Access denied for user 'user'@'localhost' (using password: NO)
[InvalidArgumentException]
  Parameter validation failed

我在 MySQL 查过, root@localhost 已经存在

mysql> select user, host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| magento          | %         |
| user             | %         |
| debian-sys-maint | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
6 rows in set (0.00 sec)

有没有大神曾经遇过这个情况, 请赐教.


#2

mysql的账号或者密码错误,这里你设置的mysql用户名是magento,密码password。
另外,linode的新加坡机房并不快,国内访问需要绕道美国。不如直接买美国的节点了


#3

我用上了
–db-user=“root” --db-password="***"
过了, 这样设置, 不是最佳设定方法对吗?


#4

是的,但是请确认一下账号用户名是否正确,请先使用

mysql -umagento -ppassword

这两个要相匹配。


#5

[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_******
Nothing to import.

我用 root 完成了 MYSQL 的表的倒入了
算是安装完成了
但打了 http://www.domain.com/admin 没有进入管理登入页面
请教在那里能找到管理员页面路径
另外有好的教学推荐, 讲解如何安装 Mangeto2 到 Ubuntu + Nginx + PHP + MYSQL 吗?
跪谢了


#6

这证明是用户密码不对,或者没有赋予magento这个mysql user权限,所以没有成功.

命令执行完成时,会有提示正确的后台URL,如果找不到了,可以使用命令行查询Magento的后台url地址:

bin/magento info:adminuri


#7

当我建好了新的 MYSQL USER, 我去 /var/www/html/app/etc 修改 env.php 里参数对吗?

我找到了 admin URI , 打了 www.domain.com/admin_URI, 但是管理页面还是没有跳出来, 是因为我的 NGINX 设置错误?


#8

应该是nginx配置的问题。请参考官方的nginx.conf


判断是否是URL rewrite的问题,可以尝试在domain.com/index.php/admin_URL试试,如果访问的不是404,那证明有问题。