当前位置: 首页 > 知识库问答 >
问题:

拒绝访问用户'homestad'@'localhost'(使用密码:是)

金令
2023-03-14

我在使用Laravel 5.0的Mac OS Yosemite上。

在我的本地环境中,我运行php artisan migrate

拒绝访问用户'homestad'@'localhost'(使用密码:是)

配置

这是我的.env

APP_ENV=local
APP_DEBUG=true
APP_KEY=*****

DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

app\config\database.php

   'mysql'       => [
    'driver'      => 'mysql',
    'host'        => env('DB_HOST', 'localhost'),
    'database'    => env('DB_DATABASE', 'homestead'),
    'username'    => env('DB_USERNAME', 'homestead'),
    'password'    => env('DB_PASSWORD', 'secret'),
    'unix_socket' => '/tmp/mysql.sock',
    'charset'     => 'utf8',
    'collation'   => 'utf8_unicode_ci',
    'prefix'      => '',
    'strict'      => false,
    ]

我如何避免这种错误?

我试过:

在app/database.php中

localhost替换为127.0.0.1

“主机”=

还有,in.env

DB\u HOST=localhost--

尝试指定环境

PHP工匠迁移--env=本地

检查MySQL是否按运行运行

mysqladmin-u homestead-p状态输入密码:secret

我得到了

正常运行时间:21281个线程:3个问题:274个慢速查询:0个打开:327个刷新表:1个打开的表:平均每秒80个查询:0.012

这意味着它正在运行。

检查MySQL UNIX套接字(此步骤对我有效)


共有3个答案

况嘉运
2023-03-14

解决这个问题的两种方法

第一种方式(不推荐)

打开数据库配置文件(laravel_root/config/database.php)

        'host'      => env('DB_HOST', 'localhost'),
        'database'  => env('DB_DATABASE', 'blog'),
        'username'  => env('DB_USERNAME', 'root'),
        'password'  => env('DB_PASSWORD', ''),

按如下所示更改代码块

        'host'      => 'yourHostName',
        'database'  => 'YourDatabastName',
        'username'  => 'YoutDatabaseUsername',
        'password'  => 'YourDatabasePassword',

第二种方式(Laravel推荐)

检查您的Laravel根目录是否有文件调用.env如果不存在,请查找.env.example,然后将其复制/重命名为.env!

APP_ENV=local
APP_DEBUG=true
APP_KEY=someRandomNumber

DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null

修改下面的块,如下所示

DB_HOST=yourHostName
DB_DATABASE=yourDatabaseName
DB_USERNAME=yourDatabaseUsername
DB_PASSWORD=youPassword

现在它可以正常工作了。

壤驷经国
2023-03-14

TLDR:您需要停止服务器Ctrlc,然后使用php artisan serve重新开始

如果您正在使用Laravel,并且已经启动了本地开发服务器,请参阅php artisan service

在上述服务器已经运行之后,您可以在.env文件中更改与数据库服务器相关的内容。比如从MySQL迁移到SQLite之类的。您需要确保停止上述过程,即Ctrcl C或任何停止该过程的操作。然后再次重新启动Artisan Serve,即yphp Artisan Serve并刷新浏览器,与数据库相关的问题将得到解决。这就是我为拉威尔5.3所做的

邢新
2023-03-14

用户'homestead'@'localhost'laravel 5错误的访问被拒绝的原因是.env.php文件的缓存问题,因为laravel 5在.env文件中使用基于环境的配置。

1.转到应用程序根目录并打开. env文件(在ubuntu中可能是隐藏的,所以按ctrlh显示隐藏的文件

DB_HOST=localhost
DB_DATABASE=laravelu
DB_USERNAME=root
DB_PASSWORD=''

2.然后重新启动apache服务器/web服务器。然后刷新页面,您就完成了

3.如果仍然发出,请尝试运行以下命令以清除旧的配置缓存文件。

php artisan config:clear

现在您已经完成了错误处理

 类似资料:
  • 尝试使用以下代码连接到localhostsql db(此时不执行任何查询操作,只想执行查询): 我一直得到以下信息。。。 为什么这样不行?

  • 因此,当我尝试从Java代码连接到MySQL数据库时,我收到错误的访问被拒绝。我所能找到的一切都没有解决问题,代码是非常基本的。我以前在项目中用过,在很多教程中都发现它是那样的。所以首先相关代码: 注意:我可以很好地登录到MySQL workbench中的DB中,并在那里做所有的事情,从创建/更改表到插入等等。 那么我做了什么来解决这个问题:它让我想知道为什么它没有声明哪个用户被拒绝了注意它声明“

  • 我知道这个标题看起来很熟悉,但不是。我正在处理一个web应用程序,当我运行它时,它显示:用户'root'@'localhost'的访问被拒绝(使用密码:NO)。我搜索了一些网站,他们说我应该使用密码。所以我使用mysql控制台更改了密码。我得到的消息是拒绝用户'root'@'localhost'的访问(使用密码:YES)。当我重新进入mysql控制台并输入密码时,它会发出一声哔哔声,然后关闭。我得

  • 问题内容: 我在使用Laravel 5.0的Mac OS Yosemite上。 在我的 本地 环境中,我一直在跑: 用户’homestead’@’localhost’的访问被拒绝(使用密码:是) 组态 这是我的 .env app \ config \ database.php 如何避免这种错误? 我试过了 : 在 app / database.php中 替换为 -> 此外,在 .env中 -> 2

  • 我想使用java连接到托管在openshift服务器中的mysql数据库。在我的本地计算机上一切正常,但当我尝试连接到openshift数据库时,我收到了这个错误 Java语言sql。SQLException:拒绝访问com上的用户:“userEl”@“@localhost”(使用密码:yes)。mysql。jdbc。SQLError。在com上创建sqlexception(SQLError.ja

  • 这似乎是多余的,但我无法找到一个正确的解决方案。 我无法使用mysql控制台登录到mysql。它要求一个密码,我不知道我实际上输入了什么。有办法获取密码或更改密码吗?(这就是我config.inc的样子。 当我尝试打开phpmyadmin我得到这个错误(#1045-访问拒绝用户'root'@'localhost'(使用密码:是)) 我尝试卸载(并删除了所有相关文件)WAMP并重新安装。这也没有帮助