专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » mysql添加用户:MySQL的用户设置和授权 »正文

mysql添加用户:MySQL的用户设置和授权

来源: 发布时间:星期日, 2009年1月4日 浏览:144次 评论:0
="t18">摘要:本文介绍了如何建立用户如何为用户分配权限GRANT语句虽然能够为用户分配权限使用比较方便但是从安全角度从增加对系统了解角度你应该尽量使用直接修改授权表思路方法这样可以更精确控制授权能够对授权表完全了解避免 GRANT语句是MySQL服务器安全性降低

你可以有2个区别思路方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表比较好思路方法是使用GRANT语句他们是更简明并且好像少些

使用SHOW GRANTS语句显示用户授权

你可以直接查看授权表也可以使用SHOW GRANTS语句查看某个用户授权这种情况下使用SHOW GRANTS语句显然要方便

语法:SHOW GRANTS FOR user_name

为了容纳对任意主机用户授予权利MySQL支持以user@host格式指定user_name值

例如下面语句显示个用户admin权限:

mysql>SHOW GRANTS FOR admin@localhost;

其结果为创建该用户GRNAT授权语句:

GRANT RELOAD, SHUTDOWN, PROCESS _disibledevent="mailto:boris@localhost">boris@localhost IDENTIFIED BY "ruby"

这些权限不是全局所以它们不存储在user表中我们仍然需要在user表中创建条记录(使得用户能连接)但我们也需要创建个db表记录记录数据库集权限:

mysql> INSERT INTO user (Host,User,Password)
-> VALUES("localhost","boris",PASSWORD("ruby")) ;
mysql> INSERT INTO db VALUES
-> ("localhost","sample_db","boris","Y","Y","Y","Y","Y","Y","N","Y","Y","Y");


"N"列是为GRANT权限;对末尾个数据库级具有WITH GRANT OPTIONGRANT语句你要设置该列为"Y"

要设置表级或列级权限你对tables_priv或columns_priv使用INSERT语句当然如果你没有GRANT语句你将没有这些表它们在MySQL中同时出现如果你确实有这些表并且为了某些原因想要手工操作它们要知道你不能用单独列启用权限

你设置tables_priv.Table_priv或columns_priv.Column_priv列来设置包含你想启用权限值例如要对个表启用SELECT和INSERT权限你要在相关tables_priv记录中设置Table_priv为"Select,Insert"

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: