mysql8的坑

plugin caching_sha2_password could not be loaded

我在mac上用Sequel Pro连数据库的时候,会报出以上错误,这是应为8.0.11把身份认证插件改成了 caching_sha2_password ,而客户端没法使用此插件。

这是我们只要用命令行进去mysql,然后执行

 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

然后重新加载下数据库配置

FLUSH PRIVILEGES;

这样就可以用客户端连接数据库了。

如果你想彻底更换所有用户身份认证插件,可以修改my.cnf。在末尾增加一行

default_authentication_plugin=mysql_native_password

Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'

我在使用laravel框架执行migrate命令时,出现错误

QLSTATE[42000]: Syntax error or access violation:
1231 Variable 'sql_mode' can't be set to the value of ' NO_AUTO_CREATE_USER '

 

是因为mysql在8.0版本中已经移除了NO_AUTO_CREATE_USER 这个模式。

解决方案:只需要将 config/database.php 配置文件中mysql 的 strict 的值改为false即可!

 
原文地址:https://www.cnblogs.com/smzd/p/9894844.html