mysql8.0.11的坑早知道


1、plugin caching_sha2_password could not be loaded

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

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

ALTER USER 'YOURUSERNAME'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YOURPASSWORD';

比如:

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

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

FLUSH PRIVILEGES;

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

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

default_authentication_plugin=mysql_native_password

 

 

2、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即可!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM