如何修复“ Illuminate \ Database \ QueryException:SQLSTATE [HY000] [1044]用户拒绝访问”

时间:2019-01-10 08:07:08

标签: php mysql laravel laravel-5

我尝试运行:php artisan migrate

还可以在Windows上使用Xampp连接到MySQL。

我遇到了这个错误:

  

Illuminate \ Database \ QueryException:SQLSTATE [HY000] [1044]访问   用户'@'localhost'被拒绝到数据库'homestead'(SQL:select *   来自information_schema.tables,其中table_schema =宅基地和   table_name =迁移)

     在

  C:\ Users \ harsh \ Laravel1 \ vendor \ laravel \ framework \ src \ Illuminate \ Database \ Connection.php:664       660 | //如果在尝试运行查询时发生异常,我们将格式化错误       661 | //包含SQL绑定的消息,这将使此异常成为       662 | //对开发人员有更多帮助,而不仅仅是数据库的错误。       663 | catch(例外$ e){

     
    

664 |抛出新的QueryException(         665 | $ query,$ this-> prepareBindings($ bindings),$ e         666 | );         667 | }         668 |异常跟踪:

  
     

1 PDOException::(“ SQLSTATE [HY000] [1044]用户的访问被拒绝   “ @'localhost'到数据库'homestead'”)         C:\ Users \ harsh \ Laravel1 \ vendor \ laravel \ framework \ src \ Illuminate \ Database \ Connectors \ Connector.php:70

     

2
  PDO :: __ construct(“ mysql:host = 127.0.0.1; port = 3306; dbname = homestead”,   “宅基地”,“”,[])         C:\ Users \ harsh \ Laravel1 \ vendor \ laravel \ framework \ src \ Illuminate \ Database \ Connectors \ Connector.php:70

     

请使用参数-v查看更多详细信息。

.env文件:

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=homestead 
DB_USERNAME=homestead 
DB_PASSWORD=

9 个答案:

答案 0 :(得分:1)

打开 <div style="background: url(assets/img/leadspace.jpg) top right no-repeat #1d2f93;height: 360px;"></div> 文件并进行编辑。只需设置正确的数据库凭证:

.env

如果安装中没有默认的用户名,则应将 DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE= // Your Database Name DB_USERNAME= // Yout Database Username DB_PASSWORD= // Your Database Password 设置为 DB_USERNAME xampp 中的MySQL版本。

如果未在数据库上设置密码,请清除 root ,还必须删除空白空间(过去,我也曾对此进行过讨论问题,窗口将空格视为密码)

完成 DB_PASSWORD 编辑后,请在您的终端中输入以下命令以清除缓存:

.env

答案 1 :(得分:0)

您好,请转到xampp phpmyadmin为示例堆栈创建一个数据库,并将您的.env更改为此:

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=stack
DB_USERNAME=root 
DB_PASSWORD=

默认情况下,phpmyadmin用户名是root,没有密码 保存并尝试php artisan migrate

答案 2 :(得分:0)

您应该尝试以下操作:

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=your database name 
DB_USERNAME= your localhost-database username (i.e `root`)
DB_PASSWORD= your localhost-database password (i.e `root`)

然后您在命令下运行

php artisan config:cache
php artisan cache:clear 
php artisan migrate

答案 3 :(得分:0)

尝试此操作,转到您的.env文件,更改名称或数据库。 转到phpmyadmin,使用.env文件中的新名称创建一个新数据库。 然后运行php artisan migration。

答案 4 :(得分:0)

在遇到DB_PORT并从MAMP设置值之前,我一直遇到相同的错误

答案 5 :(得分:0)

对于使用 MAMP 的 Mac 用户,如果接受的答案不足以解决这个问题,就像我一样,请将 socket 添加到 .env 文件中。

DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
//or
UNIX_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock

该变量应与 config > database.php 上的设置匹配。寻找connections > mysql > unix_socket

答案 6 :(得分:-1)

在您的终端中尝试以下操作:要使用XMAPP,请使用

sudo /opt/lampp/lampp start

控制台输出应为

Starting XAMPP for Linux 7.4.8-0...
XAMPP: Starting Apache...fail.
XAMPP: Another web server is already running.
XAMPP: Starting MySQL...ok.
XAMPP: Starting ProFTPD...ok.

出现错误时

error: /opt/lampp/bin/mysql.server: 264: kill: No such process**

在您的终端中再次尝试:

sudo service mysql stop
sudo service apache2 stop

然后在迁移文件后打开数据库。

答案 7 :(得分:-1)

you fix file .env Pay attention to the password section 'password'
 +need to have '
 
 DB_CONNECTION=mysql 
 DB_HOST=127.0.0.1 
 DB_PORT=3306 
 DB_DATABASE=            // Your Database Name
 DB_USERNAME=           // Yout Database Username
 DB_PASSWORD=          // Your Database Password 
 

答案 8 :(得分:-1)

我使用的是 MacOS 和 MAMP

我尝试了上述建议,但无法解决。

为我解决的是在 MAMP 中从 PHP 7.x 切换到 8.0.x