我用laravel5.8运行一条sql的时候报错,用PHP原生连接的时候能查到数据也不报错
求帮助!!!
1、Authentication type:
用户的 Authentication type 默认为 caching_sha2_password,导致数据库连接错误,抛出如下异常:
Illuminate\Database\QueryException : SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
解决方案:修改密码认证方式
ALTER USER 'YOURUSERNAME'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YOURPASSWORD';
2、删除了 NO_AUTO_CREATE_USER 模式
在 5.7.* 的日志中提到已废除该模式,在 8.0.11 中删除了,迁移时会抛出如下异常:
Illuminate\Database\QueryException : SQLSTATE[42000]: Syntax error or access violation: 1231 Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'
解决方案:将 config/database.php 配置文件中 mysql 的 strict 的值改为 false 即可!
目前就发现这两个,如有有其他的坑可以评论一下:hand: