【发布时间】:2020-02-27 11:25:35
【问题描述】:
我无法使用 PHP 在 Laravel 中迁移文件。
我尝试更改默认密码并尝试查看my.cnf 文件。
我是使用 Laravel 的新手,所以我不确定如何进行故障排除。当我问这些问题时,我被告知这是因为Mysql 8.0 使用了不同的方法来验证连接。我相信它的caching_sha2_password 是新的默认值。
据我所知你需要让它与 Laravel 一起工作
default_authentication_plugin=mysql_native_password
在您的 MySQL 配置文件中设置。我不知道我应该把它放在哪里或者它是否
或者您可以使用 SQL 命令行实用程序设置标志
mysqld --default-authentication-plugin=mysql_native_password
[*] - You can find out where the .cnf files are by running
mysqld --help --verbose
当我尝试迁移我的数据库时,我收到以下错误消息:
Illuminate\Database\QueryException : SQLSTATE[HY000] [2054] 服务器 请求的客户端未知的身份验证方法(SQL:select * 来自 information_schema.tables 其中 table_schema = 教程和 table_name = 迁移和 table_type = 'BASE TABLE')
661| // 如果尝试运行查询时发生异常,我们将 格式化错误 662| // 包含与 SQL 的绑定的消息, 这将使这个例外成为 663| // 更有帮助 开发人员,而不仅仅是数据库的错误。 664|捕捉(异常 $e) {
665|抛出新的QueryException(666 | $查询, $this->prepareBindings($bindings), $e 667| ); 668| 669|
【问题讨论】: