php – 如何使用laravel运行MySql 8?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 如何使用laravel运行MySql 8?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2683字,纯文字阅读大概需要4分钟。
内容图文
![php – 如何使用laravel运行MySql 8?](/upload/InfoBanner/zyjiaocheng/889/de1cae78f2424c24b8fea903769e0510.jpg)
我很难让MySQL 8工作.这是我每次尝试php工匠迁移时出现的错误.到目前为止,我只重新安装了一次MySQL,因为我不想再对正在发生的事情造成伤害.我已经从其他可能的答案中编辑了database.php,但这似乎也不起作用.我看到了一个可能的答案,这是因为MySQL 8的sha256加密了root密码,这就是为什么我要回到MySQL 5.7,我已经查找了与laravel工作正常.虽然,我想保持最新的软件包并保留MySQL 8,只要我可以使用laravel.
PHP 7.2
如何让MySQL 8与Laravel协同工作?
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'version' => 8,
'modes' => [
'ONLY_FULL_GROUP_BY',
'STRICT_TRANS_TABLES',
'NO_ZERO_IN_DATE',
'NO_ZERO_DATE',
'ERROR_FOR_DIVISION_BY_ZERO',
'NO_ENGINE_SUBSTITUTION',
],
],
“
Illuminate\Database\QueryException : SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client (SQL: select * from information_schema.tables where table_schema = laravel_tut and table_name = migrations)
at /Users/home/Projects/laravel_tut/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664
660| // If an exception occurs when attempting to run a query, we'll format the error
661| // message to include the bindings with SQL, which will make this exception a
662| // lot more helpful to the developer instead of just the database's errors.
663| catch (Exception $e) {
> 664| throw new QueryException(
665| $query, $this->prepareBindings($bindings), $e
666| );
667| }
668|
Exception trace:
1 PDOException::("PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]")
/Users/home/Projects/laravel_tut/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
2 PDO::__construct("mysql:host=127.0.0.1;port=3306;dbname=laravel_tut", "root", "fdgkadgaf9g7ayaig9fgy9ad8fgu9adfg9adg", [])
/Users/home/Projects/laravel_tut/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
更新我要修复的另一个修正:
通过全新安装MySQL,我选择了NO来加密设置中的密码(使用传统加密,而不是SHA加密),它开始与Laravel一起使用没有任何问题 – 只需使用长而强的密码.
安装步骤的参考:
https://www.percona.com/blog/wp-content/uploads/2018/05/Installing-MySQL-8.0-on-Ubuntu-2.png
解决方法:
由于PHP不了解caching_sha2_password,请将用户设置回mysql_native_password:
ALTER USER 'forge'@'localhost'
IDENTIFIED WITH mysql_native_password BY 'new_password'
内容总结
以上是互联网集市为您收集整理的php – 如何使用laravel运行MySql 8?全部内容,希望文章能够帮你解决php – 如何使用laravel运行MySql 8?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。