Di VM Ubuntu saya, saya terus mendapatkan
SQLSTATE[HY000] [1045] Akses ditolak untuk pengguna 'username'@'localhost' (menggunakan kata sandi: YES)
Saya telah mengkonfigurasi database saya seperti ini di file .env saya
DB_HOST=45.55.88.57
DB_DATABASE=b-prod
DB_USERNAME=root
DB_PASSWORD=*********
UNIX_SOCKET=/var/run/mysqld/mysqld.sock
Ini bekerja dengan sempurna.
Tetapi ketika saya menggunakan
DB_HOST=45.55.88.57
DB_DATABASE=b-prod
DB_USERNAME=b <----------------------------------------------
DB_PASSWORD=*********
UNIX_SOCKET=/var/run/mysqld/mysqld.sock
Saya tidak berhasil.
Apa lagi yang harus saya perhatikan untuk mencegah hal ini?
Saya merasa bahwa saya memiliki kata sandi yang salah.
Bagaimana cara menguji kata sandi database saya ? DB_PASSWORD=***** ?
Ini semua pengguna yang saya miliki
mysql> SELECT User,Host FROM mysql.user;
+------------------+-------------+
| User | Host |
+------------------+-------------+
| root | % |
| root | 127.0.0.1 |
| root | 45.55.88.57 |
| root | ::1 |
| root | b |
| b | localhost |
| debian-sys-maint | localhost |
| root | localhost |
+------------------+-------------+
8 rows in set (0.00 sec)
Kadang-kadang ketika Anda mengubah .env Anda, konfigurasi tidak akan di-refresh tanpa menghapus cache atau memulai ulang server.
Pesan kesalahannya adalah:
SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: YES)
Basis data mencoba mendapatkan informasi dari "cached" .env configuration, Anda harus mencoba:
php artisan config:clear
jika tidak berhasil, restart server Anda.
config\database.php
AndaDan atur kredensial Anda sendiri
'mysql' => [
'host' => '45.55.88.77',
'database' => 'prod',
'username' => 'forge',
'password' => '*********',
],
Saya pikir masalah Anda adalah dengan database Anda dan bukan dengan laravel.
mysql> SELECT User,Host FROM mysql.user;
+------------------+-------------+
| User | Host |
+------------------+-------------+
| root | % |
| root | 127.0.0.1 |
| root | 45.55.88.57 |
| root | ::1 |
| root | b |
| b | localhost | <-- harus % bukan localhost karena Anda ingin mengaksesnya dari jarak jauh, bukan lokal
| debian-sys-maint | localhost |
| root | localhost |
+------------------+-------------+
8 baris dalam set (0.00 detik)
Semoga ini dapat membantu.