Mysql 拒绝用户访问';根'@';本地主机';仅限邮递员API
我正在使用postman尝试发出API post请求: 必须有数据库连接,因为我可以很好地迁移数据库。使用Mysql 拒绝用户访问';根'@';本地主机';仅限邮递员API,mysql,laravel,api,postman,sequelpro,Mysql,Laravel,Api,Postman,Sequelpro,我正在使用postman尝试发出API post请求: 必须有数据库连接,因为我可以很好地迁移数据库。使用php artisan tinker我还可以添加一个新用户: >>> $user = new User(); => App\User {#3060} >>> $user->name = "kyle"; => "kyle" >>> $user->email = "kyle@example.com" => "k
php artisan tinker
我还可以添加一个新用户:
>>> $user = new User();
=> App\User {#3060}
>>> $user->name = "kyle";
=> "kyle"
>>> $user->email = "kyle@example.com"
=> "kyle@example.com"
>>> $user->email = "kyle@example.com";
=> "kyle@example.com"
>>> $user->password = bcrypt('password');
=> "$2y$10$VQ8i0wlUKOfMzz6s/AXNBekcAdDAah9EvCvLeOASu3t06x.eVMCFq"
>>> $user->save();
=> true
>>> User::all();
=> Illuminate\Database\Eloquent\Collection {#3080
all: [
App\User {#3081
id: 1,
name: "kyle",
email: "kyle@example.com",
email_verified_at: null,
created_at: "2020-04-29 06:15:03",
updated_at: "2020-04-29 06:15:03",
},
],
}
然而,当我尝试在postman中创建一个记录时,我得到了以下结果:
Illumb\Database\QueryException:SQLSTATE[HY000][1045]拒绝用户“root”@“localhost”(使用密码:否)(SQL:insert-into用户
(名称
,电子邮件
,密码
,更新
,创建
)值(凯尔,kyle@example.com第671行的文件/Applications/MAMP/htdocs/laravel vue spa/vendor/laravel/framework/src/light/Database/Connection.php中
这是我的AuthController:
public function register(Request $request)
{
/*$request->validate([
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|',
'password' => 'required|string|min:6|confirmed'
]);*/
$user = new User();
$user->name = $request->name;
$user->email = $request->email;
$user->password = bcrypt($request->password);
$user->save();
/*if($user->save()){
return response()->json([
'message' => 'User was successfully created.',
'status_code' => 201
], 201);
} else {
return response()->json([
'message' => 'An error occured. Please try again.',
'status_code' => 500
], 500);
} */
}
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_spa
DB_USERNAME=root
DB_PASSWORD=password
我还尝试过切换DB_HOST=localhost
。在Sequel Pro中,我的权限设置为super。我还尝试过对User::all();
执行GET
请求,这是同样的折磨
编辑1
config/database.php
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'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', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
我还运行了
php-artisan-config:clear
和php-artisan-optimize:clear
当您更改env文件中的某些内容时,必须运行此命令php-artisan-config:cachephp-artisan-optimize:clear
最适合清除所有缓存触发我的是(使用密码:否)
你能分享你的config/database.php吗?
?啊@Sergio明白了!如果问题解决了,请给出答案并接受它,这样当你更改env文件中的某些内容时,它也可以帮助其他人。你必须运行以下命令php artisan config:cachephp artisan optimize:clear
最适合清除所有缓存什么触发器我是(使用密码:否)
你能分享你的配置/数据库.php
吗?啊@Sergio明白了!如果问题解决了,请给出答案并接受它,这样它也可以帮助其他人