Famio Liew
Application/Web Beginner
home
首页
bubble_chart
工具
keyboard_arrow_down
links
链接收藏
info
关于
assignment_late
苏ICP备15006533号-1
menu 绯末小筑 famio.CN

Laravel数据库迁移错误

绯末 于 2018-09-04 02:03:40 发布

今天在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的版本升级来解决这个问题吧。