Php Laravel 5错误SQLSTATE[HY000][1045]拒绝用户访问';宅地'@';本地主机';(使用密码:是)
我已经成功安装了Laravel 5,并将config目录中database.php文件中的MySQL凭据更改为 " 我不想使用homestead,我已将.env文件更改为Php Laravel 5错误SQLSTATE[HY000][1045]拒绝用户访问';宅地'@';本地主机';(使用密码:是),php,database,xampp,localhost,laravel-5,Php,Database,Xampp,Localhost,Laravel 5,我已经成功安装了Laravel 5,并将config目录中database.php文件中的MySQL凭据更改为 " 我不想使用homestead,我已将.env文件更改为 APP_ENV=local APP_DEBUG=true APP_KEY=apLIzEMOgtc5BUxdT9WRLSvAoIIWO87N DB_HOST=localhost DB_DATABASE=wdcollect DB_USERNAME=root DB_PASSWORD= CACHE_DRIVER=file SESS
APP_ENV=local
APP_DEBUG=true
APP_KEY=apLIzEMOgtc5BUxdT9WRLSvAoIIWO87N
DB_HOST=localhost
DB_DATABASE=wdcollect
DB_USERNAME=root
DB_PASSWORD=
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
我不明白为什么会说“homestead”@“localhost”的访问被拒绝您不需要在database.php文件中设置凭据。如果您在.env中有凭据就足够了
若您能够直接登录到数据库,那个么这个密码必须有效。您可能拥有与此文件中定义的“本地”不同的环境。测试是使用“php artisan env”进行的,它现在正在工作。我必须重新启动服务器。 谢谢尝试签出根目录中的“.env”文件。它将是一个隐藏文件。更正这些值
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
请更新以下文件 供应商-环境-在线#7
而不是宅地用户您的数据库,用户名和密码。这应该对你有用。当我在共享主机上在线部署我的网站时,这些都不适用于我,下面是我所做的工作 在
.env
文件中,我更改了
DB_HOST=127.0.0.1
到
和viola一样,它工作得很好。请更新.env文件
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
然后重新启动服务器
您需要运行这两个命令 php artisan缓存:清除 php artisan配置:缓存
如果在使用localhost和root之前,您的文件将被缓存 删除/bootstap/cache/config.php,而不是使用此
DB_HOST=localhost
DB_DATABASE=wdcollect
DB_USERNAME=root
DB_PASSWORD=
用这个
DB_HOST=localhost
DB_DATABASE=wdcollect
DB_USERNAME=root
DB_PASSWORD=''
我也想到了这个。。。
然后我通过将数据库信息直接放入“database.php”来解决它
在你的情况下,我会像这样更改信息
mysql' => [
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'wdcollect',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
别忘了在XAMPP的config.inc中更改您的设置
['auth_type'] = 'config';
['Servers'][$i]['user'] = 'root';
['Servers'][$i]['password'] = '';
['AllowNoPassword'] = true;
将.env文件和config.php文件与数据库设置中的用户名、密码和主机名匹配。如果它们不相等,则关系将无法连接。这对我很有用:
php artisan config:clear
php artisan cache:clear
php artisan config:cache
谢谢 如果您在MAMP上
检查您的端口号,通常是
主机本地主机
8889端口
用户根
密码根
Socket/Applications/MAMP/tmp/mysql/mysql.sock我也面临同样的问题。一切都很好,但都很好 bootstrap/cache/config.php
总是有不完整的密码。进一步挖掘后,他意识到密码中有“#”字符,该字符将被删除。As“#”用于将一行标记为注释 该.env文件应具有与mysql数据库中相同的数据库名称、用户名和密码,并检查是否授予用户访问数据库的所有权限。 我通过在数据库名称和用户名前面添加cpanel用户名解决了我的问题 与jumbo_admingo和jumbo_user1类似,jumbo是我的cpanel用户名,admingo是我在mysql中创建的数据库名,user1是提供访问数据库admingo权限的用户。
这解决了我的问题。我所做的事情也面临同样的问题
希望对您有所帮助。原因是缓存了旧的数据库凭据
/bootstap/cache/config.php
在.env文件中,我对其进行了如下修改
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
然后删除了那个文件
/bootstap/cache/config.php
如果问题仍然存在,您可以尝试以下方法。
php artisan配置:清除
php artisan缓存:清除
php artisan配置:缓存
通过编写Exit
命令退出vagrant
然后重新启动vargarnt/homestead配置
vagrant reload --provision
然后又开了流浪汉
Vagrant Up
Vagrant ssh
DB_HOST=localhost
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=your-root-pas
php artisan cache:clear
php artisan config:cache
php artisan config:clear
php artisan migrate
对于我来说,XAMPP与Apache和MySQL一起工作。在XAMPP上打开终端>转到
/opt/lampp/htdocs/project\u name
>运行php artisan migrate
.env文件
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=8080
DB_DATABASE=database_name
DB_USERNAME=root
DB_PASSWORD=
我也遇到了同样的问题,因此我意识到
.env
文件不接受特殊字符,因为我的密码包含这些字符,我在config/database.php
文件中添加了密码。在我的情况下,我想连接到安装在windows上的数据库,我过去通过workbench访问该数据库,因此,我将localhost替换为通过在windows命令提示符下键入ipconfig
获得的ip地址
天哪!
多亏了下面的umair.ashfr答案,我终于抓住了一个问题,这个问题吞噬了我的神经元
我有一个像这样的密码
DB#u PASSWORD=ffjdh5#fgr
在我的.env上,MySQL连接优雅地说“用户的SQLSTATE[HY000][1045]访问被拒绝……”,不管我试图运行什么风格的php artisan
问题是密码中有“#”符号。
当心!这意味着评论的开始,因此我的密码被悄悄地截断了!
解决方案是像这样声明密码
DB_PASSWORD=“ffjdh5#fgr”
关于在我的例子中,实际上是根用户权限问题。我的
Laravel
配置都很完美,但后来我发现这是根用户权限问题,因为我的MySQL配置不知怎么被更改了
- 所以我导航到xampp folder>C:\xampp\mysql\bin
- 搜索my.ini文件并在编辑器中打开它,然后在以下位置添加
:跳过授权表
[mysqld]跳过授权表端口=3306
它成功了。我花了几个小时在这上面:-(最后,它真的很容易被破解
之前
DB_PASSWORD=#Root2020$
已更新
DB_PASSWORD="#Root2020$"
我认为问题出在密码上,这就是为什么我必须将密码写在引号中。像DB_password=“2o0”一样声明密码@
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=8080
DB_DATABASE=database_name
DB_USERNAME=root
DB_PASSWORD=
DB_PASSWORD=#Root2020$
DB_PASSWORD="#Root2020$"
DB_PASSWORD=Test@123## //not working without double quotes.
DB_PASSWORD="Test@123##" //working with double quotes.