安装laravel+mysql8.0时遇到的新问题

今天没事儿安装了个mysql8.0然后就把常用的laravel 链上mysql8.0结果运行迁移的时候遇到两个问题 第一个: SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client (View: ...) 出现这个错误是因为mysql8.0用了   Caching SHA-2  这个东西认证官方文档(https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html) 如果你用的是其他工具来链接mysql的话 就会发现提示你错误,就是因为这个认证方式的原因。 官方文档有讲可以修改 认证方式 default_authentication_plugin=mysql_native_password 这里需要注意: 因为mysql8默认的密码就是SHA-256所以如果只在my.ini修改认证方式是不行的还必须要修改密码 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; flush privileges; 修改密码完成. 改到这里就OK了. 第二个 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, 即可解决

Tags mysql php

留言(0)

评论