数据库服务器通常包含关键的数据,确保这些数据的安全和完整需要利用访问控制。本章将学习MySQL的访问控制和用户管理。
1 访问控制
MySQL服务器的安全基础是:用户应该对他们需要的数据具有适当的访问权,既不能多也不能少。换句话说,用户不能对过多的数据具有过多的访问权。
考虑以下内容:
①多数用户只需要对表进行读和写,但少数用户甚至需要能创建和删除表;
②某些用户需要读表,但可能不需要更新表;
③你可能想允许用户添加数据,但不允许他们删除数据;
④某些用户(管理员)可能需要处理用户账号的权限,但多数用户不需要;
⑤你可能想让用户通过存储过程访问数据,但不允许他们直接访问数据;
⑥你可能根据用户登录的地点限制对某些功能的访问。
这些都只是例子,但有助于说明一个重要的事实,即你需要给用户提供他们所需的访问权,且仅提供他们所需的访问权。这就是所谓的访问控制,管理访问控制需要创建和管理用户账号。
使用MySQL administrator:MySQL administrator提供了一个图形用户界面,可用来管理用户及账号权限。MySQL administrator在内部利用本章介绍的语句,使你能交互地、方便地管理访问控制。
为了执行数据库操作,需要登录MySQL。
MySQL创建一个名为root的用户账号,它对整个MySQL服务器具有完全的控制。你可能已经在本书各章的学习中使用root进行过登录,在对非现实的数据库试验MySQL时,这样做很好。
不过在现