我是laravel的新手,正在尝试运行迁移,但它向我显示以下错误:
在Connection.php第664行中:
SQLSTATE [HY000] [1045]用户'root'@'localhost'的访问被拒绝 (使用密码:否)(SQL:从information_on_schema.tables中选择* 其中table_schema = test1,table_name =迁移)
在Connector.php第67行中:
SQLSTATE [HY000] [1045]用户'root'@'localhost'的访问被拒绝 (使用密码:否)
答案 0 :(得分:2)
这是数据库连接错误。
解决方案:
如果您使用的是Windows计算机,并且默认情况下XAMPP可以使用
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=db_name
DB_USERNAME=root
DB_PASSWORD=
如果您使用的是Linux计算机,并且默认情况下可以使用XAMPP,请确保该DB用户没有密码。否则,您必须在.env
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=db_name
DB_USERNAME=root
DB_PASSWORD=password
别忘了使用php artisan config:cache
artisan命令清除缓存。(如果您在env中进行了任何更改,则拥有清除的配置缓存)
答案 1 :(得分:1)
检入.env环境文件。将DB_Username设置为root,并在DB_Password中保留空白
DB_USERNAME=root
DB_PASSWORD=
如果与上面相同。 请使用以下命令清除缓存:
php artisan cache:clear
php artisan route:clear
或者简单地转到应用程序projectName> bootstrap> cache并删除其中的所有文件。
有时,这是由于缓存文件所致。或错误的数据库用户名和密码。
答案 2 :(得分:1)
在.env
文件中,只需设置正确的数据库凭据:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE= // Your Database Name
DB_USERNAME= // Your Database Username
DB_PASSWORD= // Your Database Password
如果在XAMPP中安装MySQL的过程中没有默认用户名,则应将 DB_USERNAME
设置为 root 。如果未在数据库上设置密码,请清除密码DB_PASSWORD
,
如果您使用的是PHP的默认Web服务器(例如php artisan serve
),则需要在更改.env
文件值后重新启动服务器。
此外,完成.env
编辑后,请在终端中输入以下命令以清除缓存:php artisan config:cache
在您可以使用它运行所有未完成的迁移之后,执行migration Artisan命令:php artisan migrate