我发现MySQL提供的特权列表有些让人不知所措。我不确定谁应该拥有什么特权。在我看来,有三种典型的用户适合我的情况:
root
developer
application
root
不言自明。为此,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
application
有一个更有限的设置。它应该仅限于处理特定的数据库。
我不确定要授予什么合理的特权。授予开发人员和应用程序合理的特权集是什么?为什么?