我应该授予InnoDB MySQL用户哪些特权?

时间:2011-08-22 22:02:36

标签: mysql innodb privileges grant

我有一个MySQL用户(InnoDB引擎),我想知道授予它的安全权限是什么? 目前,我已授予其访问特定数据库和这些权限的权限:

SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, ALTER, CREATE TEMPORARY TABLES

但是因为它是InnoDB我想知道我是否需要向这个用户明确授予LOCK TABLES特权?另外我不确定我是否需要为它授予CREATE TEMPORARY TABLES。 你能帮助我找出我应该授予哪些特权吗? Hibernate可以访问这个用户,所以我也想知道它能够正常工作吗?

1 个答案:

答案 0 :(得分:3)

您应该授予用户使用系统所需的最低权限。

一定要进行测试,请使用grant all on the database

锁定生产时间
但在制作中,您只应在表格上授予select 仅对用户实际需要添加或更改数据的表格授予insertupdate
Create是用户几乎从不需要的权限。 (除非您希望他们为您设计数据库: - )
同上indexalter,您不希望您的用户使用该权力 create temp tables可能没问题, IF 您的应用会创建临时表。