我用Ampps(windows 10)安装laravel with。
它有效。
但现在我想连接到mysql。
我创建了一个博客' DB并更改这两个文件: .env文件:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=blog
DB_USERNAME=root
DB_PASSWORD='mysql'
和/config/database.php:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'blog'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', 'mysql'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
但是当我想要迁移时,我仍然会收到以下消息:
C:\ Program Files(x86)\ Ampps \ www \ blog> php artisan migrate
[照亮\数据库\ QueryException]
SQLSTATE [HY000] [1045]拒绝访问用户' root' @' localhost' (使用密码:是)(SQL:select * from information_schema.tables where table_schema = blog and table_name = migrations)[PDOException]
SQLSTATE [HY000] [1045]拒绝访问用户' root' @' localhost' (使用密码:是)
答案 0 :(得分:1)
你应该写这个
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
并且你的env文件是
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=blog
DB_USERNAME=root
DB_PASSWORD=mysql
同时重启服务器。
答案 1 :(得分:0)
尝试在命令
下运行php artisan cache:clear
这应该更新缓存中保存的设置。
答案 2 :(得分:0)
密码应为此
DB_PASSWORD=mysql
不是这个
DB_PASSWORD='mysql'
答案 3 :(得分:0)
首先将.env文件中的密码从DB_PASSWORD='mysql'
更改为DB_PASSWORD=mysql
,而不用单引号引起来。其次,您应该为数据库设置更安全的密码。
您应授予root用户访问数据库的权限。
GRANT ALL PRIVILEGES ON blog.* TO 'root'@'localhost' identified by 'mysql';
FLUSH PRIVILEGES;