Laravel 5 на digitalocean: невозможно подключиться к базе данных - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть это в файле env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE={db_name}
DB_USERNAME=root
DB_PASSWORD={db_password}

Я config / database. php

'default' => env('DB_CONNECTION', 'mysql'),
 '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' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => false, //true is default
        'engine' => null,
    ],

Вот как я получил пароль:

cat /root/.digitalocean_password

Но я получаю

SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost' (SQL: select * from `users` where `email` ....

Я даже очистил значение пароля в файле env, но ti тоже не работает. Любая помощь, пожалуйста? Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 14 апреля 2020

Вот решение, которое я получил:

Мне пришлось создать другого пользователя, а не root и добавить все разрешения этому новому пользователю, который обязательно будет иметь новый пароль. Я использовал это имя пользователя и пароль в файле .env для подключения к базе данных, и он работал нормально.

0 голосов
/ 13 апреля 2020

Чтобы отследить вашу проблему. Попробуйте подключиться через S SH на вашем сервере базы данных. затем попробуйте сделать это

$ sudo  mysql -uroot -p
$ password : ******** (enter your password here)

Если вы смогли подключиться, вероятно, у вас не должно быть проблем на уровне приложения.

Второй вариант: попробуйте использовать хост "localhost" вместо "127.0.0.1", поскольку ваше root имя пользователя может указывать только на @localhost вместо @127.0.0.1

...