laravel mysql 8 тайм-аут соединения

Я новичок в laravel и config mysql.

У меня есть виртуальная машина с laravel 5.6 и mysql 8, я настроил mysql так, чтобы я мог войти с помощью mysql workbanch, и здесь все работает хорошо, но когда я пытаюсь сделать запрос на laravel, у меня появляется ошибка

Illuminate \ Database \ QueryException (2002)
SQLSTATE[HY000] [2002] Connection timed out (SQL: select * from `users`)

У моего vm статический ip 192.168.56.3 и dhcp 192.168.56.1
с MySQL Workbanch я могу подключиться с 192.168.56.3, но в laravel этот IP дает мне ошибку

PDOException (2006)
SQLSTATE[HY000] [2006] MySQL server has gone away

Другой ip 192.168.56.1 выдает ошибку тайм-аута.

мой файл .env:

DB_CONNECTION=mysql
DB_HOST=192.168.56.3
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user

и my.cnf в [mysqld]:

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
port            = 3306
basedir         = /usr
tmpdir          = /tmp
#bind-address    = 192.168.56.3

Я не знаю почему.

0

Решение

Я знаю, что это было давно, но я нашел ответ. Используйте следующую команду, чтобы обновить ваш пароль с помощью нового плагина аутентификации. Вы можете использовать MySQL 8 сейчас. Повеселись.

ALTER USER `username`@`localhost` IDENTIFIED WITH caching_sha2_password BY 'password';

ИЛИ ЖЕ

ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]