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