Ошибки миграции в laravel - PullRequest
       3

Ошибки миграции в laravel

0 голосов
/ 26 октября 2018

Я пытаюсь перенести таблицу в базу данных с именем kokodb в laravel.Тем не менее, я получаю эту ошибку:

SQLSTATE [HY000] [2054] Сервер запросил метод аутентификации, неизвестный клиенту (SQL: select * from information_schema.tables, где table_schema = kokodb и table_name = migrations)

Это мой файл env:

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=kokodb
DB_USERNAME=*****
DB_PASSWORD=*****

и это код database.php:

    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'kokodb'),
        'username' => env('DB_USERNAME', 'root'),
        'password' => env('DB_PASSWORD', 'ZAQ!2wsx'),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,

Какое возможное решение этой проблемыошибка?

Ответы [ 3 ]

0 голосов
/ 26 октября 2018

Удалить значения из

'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST'),
        'port' => env('DB_PORT'),
        'database' => env('DB_DATABASE'),
        'username' => env('DB_USERNAME'),
        'password' => env('DB_PASSWORD'),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,

просто так, файл ENV уже передает информацию. Может быть, это прошло дважды.

0 голосов
/ 26 октября 2018

Вставлено из "вопроса" другого ОП, который на самом деле был ответом, а не вопросом:

Эта ошибка появляется в PHP Symfony4 / PDO Doctrine с MySql 8.0.13

Для моего работает после этого 3 шага:

Add this line to my.cnf

default_authentication_plugin=mysql_native_password

restart mysql server

Create a new MySql user/password and change it in your .env file

Без шага 3 старый пользователь сохраняет тип аутентификации: "caching_sha2_password". После создания нового пользователя новый пользователь будет использовать тип аутентификации: "mysql_native_password"

PS Это из-за нового типа аутентификации в MySql 8.0.13 Server

0 голосов
/ 26 октября 2018

Для меня выполнение команд artisan внутри контейнера рабочей области решило ту же проблему, что и я.Ознакомьтесь с командами Laravel run artisan.

И добавьте следующий код в конец config / database.php, добавив 'engine':

        'modes'  => [
            'ONLY_FULL_GROUP_BY',
            'STRICT_TRANS_TABLES',
            'NO_ZERO_IN_DATE',
            'NO_ZERO_DATE',
            'ERROR_FOR_DIVISION_BY_ZERO',
            'NO_ENGINE_SUBSTITUTION',
        ],
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...