laravel mysql 8 连接超时
laravel mysql 8 connection time out
我是 Laravel 和配置 MySQL 的初学者。
我有一个带有 Laravel 5.6 和 MySQL 的虚拟机 8. 我已经配置了 MySQL 所以我可以用 MySQL Workbench 和一切登录运行良好,但是当我尝试在 Laravel 中进行查询时,出现错误:
Illuminate \ Database \ QueryException (2002)
SQLSTATE[HY000] [2002] Connection timed out (SQL: select * from `users`)
我的虚拟机有静态 IP 192.168.56.3
和 DHCP 192.168.56.1
。
使用 MySQL Workbench 我可以连接 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
而我在 [mysqld]
下的 .cnf
是:
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
我知道这已经有一段时间了,但我找到了答案。使用以下命令使用新的身份验证插件更新您的密码。您现在可以使用 MySQL 8。玩得开心。
ALTER USER `username`@`localhost` IDENTIFIED WITH caching_sha2_password BY 'password';
或
ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
我是 Laravel 和配置 MySQL 的初学者。
我有一个带有 Laravel 5.6 和 MySQL 的虚拟机 8. 我已经配置了 MySQL 所以我可以用 MySQL Workbench 和一切登录运行良好,但是当我尝试在 Laravel 中进行查询时,出现错误:
Illuminate \ Database \ QueryException (2002) SQLSTATE[HY000] [2002] Connection timed out (SQL: select * from `users`)
我的虚拟机有静态 IP 192.168.56.3
和 DHCP 192.168.56.1
。
使用 MySQL Workbench 我可以连接 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
而我在 [mysqld]
下的 .cnf
是:
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
我知道这已经有一段时间了,但我找到了答案。使用以下命令使用新的身份验证插件更新您的密码。您现在可以使用 MySQL 8。玩得开心。
ALTER USER `username`@`localhost` IDENTIFIED WITH caching_sha2_password BY 'password';
或
ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';