安装新的laravel应用程序5.7并尝试迁移后,出现以下错误:
illuminate\database\queryexception:sqlstate[hy000][2054]服务器请求的身份验证方法客户端未知(sql:select*from information\u schema.tables,其中table\u schema=\u db和table\u name=migrations)
位于c:\xampp\htdocs\xx\vendor\laravel\framework\src\illuminate\database\connection。php:664 660|//如果在尝试运行查询时发生异常,我们将格式化错误661 |//消息以包含与sql的绑定,这将使此异常成为662 |//对开发人员的帮助,而不仅仅是数据库的错误。663 |捕获(例外$e){
664 |抛出新queryexception(665 |$query,$this->preparebindings($bindings),$e 666 |);667| } 668|
异常跟踪:
1 pdoexception::(“pdo::uu construct():服务器请求的身份验证方法客户端未知[缓存\u sha2\u密码]”)c:\xampp\htdocs\xx\vendor\laravel\framework\src\illuminate\database\connectors\connector。php:70
2 pdo::uu构造(“mysql:host=127.0.0.1;端口=3306;dbname=\u db“,”root“,”********“,[])c:\xampp\htdocs\xx\vendor\laravel\framework\src\illuminate\database\connectors\connector。php:70
请使用参数-v查看更多详细信息。
5条答案
按热度按时间u1ehiz5o1#
你可以跑了
Mysql installer - Community
(如果您在windows中)然后重新配置mysql server
使用旧身份验证方法。它应该是解决你的问题没有痛苦。92dk7w1h2#
转到.env文件并确保
DB_CONNECTION=mysql
和db连接正确。bbuxkriu3#
重新安装mysql,选择旧式身份验证方法,如iamge-attached-sql-authentication-method所示
.env中的数据库参数如下
config/database.php中的数据库参数
跑
php artisan migrate
从项目终端f8rj6qna4#
通过在.env文件中提供db_socket,可以这样解决此问题:
6qftjkof5#
这个问题解决了我的问题。