MySQL的访问控制与用户管理

  MySQL服务器的安全基础是用户应该对他们需要的数据具有适当的访问权,既不能多也不能少。管理访问控制需要创建和管理用户账号。

  使用MySQL Administrator,MySQL Administrator提供了一个图形用户界面,可以用来管理用户及账号权限。

  防止无意的错误,访问控制的目的不仅仅是防止用户的恶意企图。数据梦魇更为常见的是无意识的错误的结果,如打错MySQL语句,在不合适的数据库中操作或其它一些用户错误。通过保证用户不能执行它们不应该执行的语句,访问控制有助于避免这些情况的发生。

  不要使用root,应该严肃对待root登录的使用。尽在绝对需要的时候使用它(或许在你不能登录其它管理账号时使用)。不应该在日常的操作中使用root。

  MySQL用户账号和信息存储在名为mysql的MySQL的数据库中。一般不需要直接访问mysql数据库和表,但有时需要直接访问。需要访问的时机是在需要获得所有用户账号列表时。为此,可以用以下代码:

USE mysql;
SELECT user FROM user;

  mysql数据库有一个名为user的表,它包含所有用户账号。user表中有一个名为user的列,它存储登录用户名。新安装的服务器可能只有一个用户。

  创建用户账号

  为了创建一个新用户账号,使用CREATE USER语句,如下所示:

CREATET USER ben IDENTIFIED BY 'p@$$w0rd';

  CREATE USER创建了一个新用户账号。在创建用户账号时不一定需要口令,不过这个例子用IDENTIFIED BY 'p@$$w0rd' 给出了一个口令。

  指定散列口令:IDENTIFIED BY 指定的诶纯文本,MySQL将在保存到user表之前对其进行加密,为了作为散列值指定口令,使用IDETIFIED BY PASSWORD。

  使用GRANT和INSERT

  使用GRANT也可以用来创建用户账号,但一般来说,CREATET USER是最清楚和最简答的句子。此外,也可以通过直接插入行到user表来增加用户,不过为了安全起见,一般不建议这么做。MySQL用来存储用户账号信息的表(以及表模式等)极为重要,对它们的任何毁坏都可能严重伤害到MySQL服务器。因此,相对于直接处理来说,最好是用标记和函数来处理这些表。

  

猜你喜欢

转载自www.cnblogs.com/luoshengjie/p/10173130.html