当我跑的时候 php artisan migrate
在connection.php第664行:
sqlstate[hy000][2054]服务器请求的身份验证方法客户端未知(sql:select*from information \u schema.tables where table \u schema=aviandb and table \u name=migrations)
在connector.php第68行中:
sqlstate[hy000][2054]服务器请求的身份验证方法客户端未知
在connector.php第68行中:
pdo::uu construct():服务器请求的身份验证方法客户端未知[缓存\u sha2\u密码]
我该怎么解决?
4条答案
按热度按时间qrjkbowd1#
mysql 8&laravel:服务器请求的身份验证方法客户端未知
所以,这是解决办法。您可以使用“旧”身份验证机制创建一个用户,mysql数据库驱动程序仍然需要这种机制。
然后重新启动
mysql
服务器9vw9lbht2#
您的php mysql扩展不支持您正在运行的mysql服务器版本。
我假设您运行的是mysql 8.0,这在本文发布时是新的。
您需要更新或重建php以支持最新版本的mysql,或者降级mysql服务器版本。
另一种解决方案是使用mysql\u native\u password选项创建用户。
b09cbbtk3#
为了
pdo::uu construct():服务器请求的身份验证方法客户端未知[缓存\u sha2\u密码]
本期,有一个日本博客,内容包括:
https://qiita.com/r641y/items/7f0ca12ced72363f9448
总之,您可以通过命令行登录mysql,然后将密码类型从
caching_sha2_password
至mysql_native_password
类型。在mysql中实现这一点的代码是:
您可以用mysql的用户名和密码替换“user”和“password”。
在mysql中:
完成后,请记住更新.env文件的()
db\u username=和db\u password=。
下面有一个关于如何获取.env文件的示例视频:https://laracasts.com/series/laravel-from-scratch-2017/episodes/4?autoplay=true
希望这有帮助!它在我的MacBookPro high sierra上起了作用。
mjqavswn4#
在你的mysql查询上运行这个脚本,只需输入你的新密码就可以了