上一篇:【MySQL必知必会(二十三)】【全球化和本地化】
+++++++++++++开始线++++++++++++++++
MySQL服务器的安全基础是:用户应该对他们需要的数据具有适当的访问权。
使用MySQL Administrator 提供一个图形用户界面,可用来管理用户及账号权限。
不要使用root
严肃对待root登陆的使用,仅在绝对需要时使用,不应该在日常的MySQL操作中使用root
MySQL用户账号和信息存储在名为mysql的MySQL数据库中。一般不需要直接访问mysql数据库和表,但有时需要直接访问。需要直接访问它的时机之一是在需要获得所有用户账号列表时。
创建一个新用户
CREATE USER ben IDENTIFIED BY 'p@$$w0rd';指定散列口令
IDENTIFIED BY指定的口令为纯文本,MySQL将在保存到user表之前对其进行加密。为了作为散列值指定口令,使用IDENTIFIED BY PASSWORD。
重命名一个用户账号
RENAME USER ben TO bforta;创建用户账号后,必须接着分配访问权限。新创建的用户账号没有访问权限,能登陆但不能看到数据,不能进行任何数据库操作
SHOW GRANTS FOR bforta;分析
USAGE表示根本没有权限
设置权限,使用GRANT语句,需要给出以下信息: 1.要授予的权限 2.被授予访问权限的数据库或表 3.用户名
mysql> GRANT SELECT ON crashcourse.* TO bforta;分析
允许用户在crashcourse.*(crashcourse数据库上所有的表)上使用SELECT,具有只读访问权限。
分析
每个GRANT添加用户的一个权限。MySQL读取所有授权,并根据他们确定权限。
GRANT的反操作为REVOKE,用来撤销特定的权限
mysql> REVOKE SELECT ON crashcourse.* FROM bforta;分析
撤消刚才赋予用户的访问权限,被撤销的访问权限必须存在,否则会出错。
更改口令使用SET PASSWORD语句
SET PASSWORD FOR bforta = Password('n3w p@$$w0rd');分析
SET PASSWORD更新用户口令。新口令必须传递到Password()函数进行加密
还可以设置你当前用户的口令
SET PASSWORD = Password('n3w p@$$w0rd');+++++++++++++结束线++++++++++++++++
下一篇:【MySQL必知必会(二十五)】【数据库维护】