Laravel 4 - 用于生产的MySQL用户配置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel 4 - 用于生产的MySQL用户配置相关的知识,希望对你有一定的参考价值。
我一直在对Laravel 4框架进行大量研究,并想知道人们如何配置生产应用程序的数据库用户权限。
在我阅读的所有文档中,所有显示都使用root权限。生产应用程序是否使用mysql root登录?如果没有,那么该用户有哪些特权?
我尝试创建一个数据库用户'dev-app',它对应用程序使用的数据库具有模式特权,允许所有对象和DDL权限。不幸的是,当我运行'php artisan migrate'时,我收到了“Access denied for user ...”错误消息。
在我简单地向所有用户授予并继续编码之前,我只想知道如何在数据库中正确设置这些用户。
谢谢
我重新创建了用户并添加了Laravel数据库可用的所有权限,并且所有权限似乎都可以正常工作。感谢所有提示和评论。
我通常在Laravel配置中有两个用户帐户和相应的两个数据库连接。
第一个(默认)帐户具有最小权限:
第二个帐户用于迁移,配置如下:
并在迁移过程中使用如下:
php artisan migrate --database=migrateconn
因此,出于安全原因,您的Web应用程序用户将具有最小权限,并且仅对于应使用提升用户帐户的部署任务。
这是一个适合修改和粘贴到MySQL 5命令提示符的命令行。
GRANT CREATE TEMPORARY TABLES, DELETE, EXECUTE, INSERT, LOCK TABLES, SELECT, UPDATE ON databasename.* TO 'username'@'localhost' IDENTIFIED BY 'password'
对于迁移用户,一个稍大的站点:GRANT ALTER, CREATE, CREATE TEMPORARY TABLES, DELETE, DROP, INDEX, INSERT, LOCK TABLES, REFERENCES, SELECT, UPDATE ON databasename.*
TO 'username'@'localhost' IDENTIFIED BY 'password'
修改位置:
'databasename'是数据库的名称'username'是您的MySQL帐户的用户名'localhost'是安装Laravel的服务器主机'password'是该用户名所需的密码
在MySQL 8上,这必须分为两个步骤,一个用于创建用户,另一个用于授予权限。
一般来说,最好限制允许的权限,因此这是一个比以前的答案更小的列表。如果/当我发现需要更多功能的Laravel代码时,我计划更新此内容。
以上是关于Laravel 4 - 用于生产的MySQL用户配置的主要内容,如果未能解决你的问题,请参考以下文章
rabbitMQ应用,laravel生产广播消息,springboot消费消息
Apache,PHP,MySQL,PDO,权限被拒绝,laravel