我发现MySQL 提供的特权列表有点让人不知所措。我不确定谁应该拥有什么特权。在我看来,我的情况有三个典型的用户:
root developer applicationroot是不言自明的。对于developer此用户需要能够轻松访问任何数据库,对其进行调整等。对于初学者,我将此用户设置为此权限集:
SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON
Run Code Online (Sandbox Code Playgroud)
application有一个更有限的集合。它应该仅限于操作特定的数据库。
我不确定要授予哪些合理的特权。授予开发人员和应用程序的合理权限集是什么?为什么?