我有一个MySQL用户(InnoDB引擎),我想知道授予它的安全权限是什么? 目前,我已授予其访问特定数据库和这些权限的权限:
SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, ALTER, CREATE TEMPORARY TABLES
但是因为它是InnoDB我想知道我是否需要向这个用户明确授予LOCK TABLES特权?另外我不确定我是否需要为它授予CREATE TEMPORARY TABLES。 你能帮助我找出我应该授予哪些特权吗? Hibernate可以访问这个用户,所以我也想知道它能够正常工作吗?
答案 0 :(得分:3)
您应该授予用户使用系统所需的最低权限。
一定要进行测试,请使用grant all on the database
。
锁定生产时间
但在制作中,您只应在表格上授予select
仅对用户实际需要添加或更改数据的表格授予insert
和update
。
Create
是用户几乎从不需要的权限。 (除非您希望他们为您设计数据库: - )。
同上index
,alter
,您不希望您的用户使用该权力
create temp tables
可能没问题, IF 您的应用会创建临时表。