什么都分享
以及,记录自己的故事

Laravel数据库迁移提示The server requested authentication method unknown to the client

今天在Ubuntu 18.04 LTS上配置Laravel开发环境的时候,无法进行数据库迁移,我安装的数据库版本是Mysql 8,会提示The server requested authentication method unknown to the client这个错误,看样子应该是加密方式变了的缘故,因为从Mysql5.7到Mysql8启用了新的加密方法。

解决办法也有,先让数据库启用兼容的加密方式

sudo vim /etc/mysql/my.cnf ,在最下面新增如下代码:

[mysqld]
default_authentication_plugin= mysql_native_password

保存退出,重启Mysql服务。

但是目前仍然是无法验证的,因为现存的密码还是用的新的加密方式,我们需要建立一个新用户,才会使用兼容的加密方式:

CREATE USER 'admin'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpass';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
CREATE USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY 'yourpass';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
#
CREATE DATABASE IF NOT EXISTS `yourdb` COLLATE 'utf8_general_ci' ;
GRANT ALL ON `yourdb`.* TO 'admin'@'%' ;
FLUSH PRIVILEGES ;

最后,使用你刚创建的用户和密码就能进行数据库迁移了,其它的,我们等待PHP和Mysql 8的版本升级来解决这个问题吧。

赞(3) 打赏
本文遵守创作共享 BY-NC-ND 4.0协议,转载前请先联系作者。绯末博客 » Laravel数据库迁移提示The server requested authentication method unknown to the client
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏