我使用命令php artisan migrate在laravel 5中迁移我的数据库.. 它给了我一个错误:
异常'PDOException',消息'SQLSTATE [HY000] [1045]访问 拒绝用户'宅基'@'localhost'(使用密码:是)'
答案 0 :(得分:9)
将来的某个时间。尝试先清除配置
php artisan config:clear.
关闭所有终端/ cmd窗口,然后重新启动终端/ CMD,这应该摆脱错误消息。看看它是否有效。
答案 1 :(得分:4)
在Laravel .env文件中,相应地更改变量以匹配您想要的设置。
如果您正在使用XAMMP或EasyPHP之类的内容使用mysql数据库,请使用以下设置
DB_HOST=localhost
DB_DATABASE=mysql
DB_USERNAME=root
DB_PASSWORD=''
答案 2 :(得分:2)
如果您在 .env文件中的所有配置都可以,那么您应该:
在终端中运行此命令,其中列出了包含php
的流程:
ps -ef | grep php
然后:
501 4529 599 0 Sat03PM ttys000 0:00.15 php artisan serve
501 4533 4529 0 Sat03PM ttys000 0:25.11 / usr / bin / php -S 127.0.0.1:8000 /Applications/XAMPP/xamppfiles/htdocs/ds7/laravel/coffeeshop/server.php
使用kill
命令终止进程(注意:进程ID是第二列数字组。)
kill 4529
kill 4533
然后运行php artisan config:clear
最后,使用以下命令重启服务器:
php artisan serve
答案 3 :(得分:2)
运行以下命令:
php artisan cache:clear
php artisan config:cache
答案 4 :(得分:1)
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => 'laravel',
'username' => 'root',
'password' => 'PASSWORD IF HAVE OTHERWISE LEAVE IT BLANK ',
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
从db,host和密码中删除ENV值并将其直接放置
答案 5 :(得分:0)
之前曾多次询问过这个问题..查看我发现的最佳答案:
此错误背后的问题可能是:
unix_socket
值,结帐Question 2。php artisan migrate:install
。您应该通过SSH进入虚拟机homestead ssh
并从那里运行迁移,结帐Question 1。答案 6 :(得分:0)
,取消class String
def chop_multiple(amount)
amount.times.inject([self, '']){ |(s, r)| [s.chop, r.prepend(s[-1])] }
end
end
hello, world = "hello world".chop_multiple 5
hello #=> 'hello '
world #=> 'world'
并替换为您的数据库名称,用户名和密码
这对你来说很好。
答案 7 :(得分:0)
编辑.env文件
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=yourdbname
DB_USERNAME=yourusername
DB_PASSWORD=yourpassword
并输入你的cmd
php artisan migrate
它肯定会起作用
答案 8 :(得分:0)
在.env文件中 从
更改DB_PORTDB_PORT=3306
到
DB_PORT=33060
参考https://laravel.com/docs/5.4/homestead#connecting-to-databases
关于最后零的问题
答案 9 :(得分:0)
解决问题的两种方法
打开数据库配置文件(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' => 'enteryourHostName',
'database' => 'ebterYourDatabastName',
'username' => 'enterYoutDatabaseUsername',
'password' => 'enterYourDatabasePassword',
第二种方式(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
这适合我。
答案 10 :(得分:-1)
更改.env文件后,必须重新启动服务器。
在命令提示符下的laravel中,键入:
php artisan serve