📄 msql用户管理.txt
字号:
GRANT ALL ON *.* TO ethel@localhost IDENTIFIED BY "coffee" WITH GRANT OPTION
ON子句中的*.*意味着“所有数据库、所有表”。从安全考虑,我们指定ethel只能从本地连接。限制一个超级用户可以连接的主机通常是明智的,因为它限制了试图破解口令的主机。
有些权限(FILE、PROCESS、RELOAD和SHUTDOWN)是管理权限并且只能用"ON
*.*"全局权限指定符授权。如果你愿意,你可以授权这些权限,而不授权数据库权限。例如,下列语句设置一个flush用户,他只能发出flush语句。这可能在你需要执行诸如清空日志等的管理脚本中会有用:
GRANT RELOAD ON *.* TO flushl@localhost IDENTIFIED BY "flushpass"
一般地,你想授权管理权限,吝啬点,因为拥有它们的用户可以影响你的服务器的操作。
数据库级权限适用于一个特定数据库中的所有表,它们可通过使用ON db_name.*子句授予:
GRANT ALL ON samp_db TO bill@racer.snake.net INDETIFIED BY "rock" GRANT SELECT
ON samp_db TO ro_user@% INDETIFIED BY "rock"
第一条语句向bill授权samp_db数据库中所有表的权限,第二条创建一个严格限制访问的用户ro_user(只读用户),只能访问samp_db数据库中的所有表,但只有读取,即用户只能发出SELECT语句。
你可以列出一系列同时授予的各个权限。例如,如果你想让用户能读取并能修改现有数据库的内容,但不能创建新表或删除表,如下授予这些权限:
GRANT SELECT,INSERT,DELETE,UPDATE ON samp_db TO bill@snake.net INDETIFIED BY
"rock"
对于更精致的访问控制,你可以在各个表上授权,或甚至在表的每个列上。当你想向用户隐藏一个表的部分时,或你想让一个用户只能修改特定的列时,列特定权限非常有用。如:
GRANT SELECT ON samp_db.member TO bill@localhost INDETIFIED BY "rock"GRANT
UPDATE (expiration) ON samp_db. member TO bill@localhost
第一条语句授予对整个member表的读权限并设置了一个口令,第二条语句增加了UPDATE权限,当只对expiration列。没必要再指定口令,因为第一条语句已经指定了。
如果你想对多个列授予权限,指定一个用逗号分开的列表。例如,对assistant用户增加member表的地址字段的UPDATE权限,使用如下语句,新权限将加到用户已有的权限中:
GRANT UPDATE (street,city,state,zip) ON samp_db TO assistant@localhost
通常,你不想授予任何比用户确实需要的权限宽的权限。然而,当你想让用户能创建一个临时表以保存中间结果,但你又不想让他们在一个包含他们不应修改内容的数据库中这样做时,发生了要授予在一个数据库上的相对宽松的权限。你可以通过建立一个分开的数据库(如tmp)并授予开数据库上的所有权限来进行。例如,如果你想让来自mars.net域中主机的任何用户使用tmp数据库,你可以发出这样的GRANT语句:
GRANT ALL ON tmp.* TO ""@mars.net
在你做完之后,用户可以创建并用tmp.tbl_name形式引用tmp中的表(在用户指定符中的""创建一个匿名用户,任何用户均匹配空白用户名)。
1.3 用户应该被允许管理权限吗?
你可以允许一个数据库的拥有者通过授予数据库上的所有拥有者权限来控制数据库的访问,在授权时,指定WITH GRANT
OPTION。例如:如果你想让alicia能从big.corp.com域的任何主机连接并具有sales数据库中所有表的管理员权限,你可以用如下GRANT语句:
GRANT ALL ON sales.* TO alicia@%.big.corp.com INDETIFIED BY "applejuice" WITH
GRANT OPTION
在效果上WITH GRANT
OPTION子句允许你把访问授权的权利授予另一个用户。要注意,拥有GRANT权限的两个用户可以彼此授权。如果你只给予了第一个用户SELECT权限,而另一个用户有GRANT加上SELECT权限,那么第二个用户可以是第一个用户更“强大”。
2 撤权并删除用户
要取消一个用户的权限,使用REVOKE语句。REVOKE的语法非常类似于GRANT语句,除了TO用FROM取代并且没有INDETIFED BY和WITH
GRANT OPTION子句:
REVOKE privileges (columns) ON what FROM user
user部分必须匹配原来GRANT语句的你想撤权的用户的user部分。privileges部分不需匹配,你可以用GRANT语句授权,然后用REVOKE语句只撤销部分权限。
REVOKE语句只删除权限,而不删除用户。即使你撤销了所有权限,在user表中的用户记录依然保留,这意味着用户仍然可以连接服务器。要完全删除一个用户,你必须用一条DELETE语句明确从user表中删除用户记录:
%mysql -u root mysqlmysql>DELETE FROM user ->WHERE User="user_name" and
Host="host_name";mysql>FLUSH PRIVILEGES;
DELETE语句删除用户记录,而FLUSH语句告诉服务器重载授权表。(当你使用GRANT和REVOKE语句时,表自动重载,而你直接修改授权表时不是。)
http://dev.xuezhishi.net/data/MySQL/2007-07-21/20045.html baidu
[评论][发送朋友][长点见识][放入收藏夹]复制本文链接(URL)发送给朋友:
上一篇: 如何实现MySQL中的用户管理? ·下一篇:下面没有链接了baidu
教程精华推荐地产广告设计欣赏专题字体设计欣赏专题BEC剑桥商务英语美语听力与发音技巧关爱女性专题英语英文谚语大全英语语法在线手册系统文件速查手册网络管理员必学手册Photoshop技巧合集世界城市地铁LOGO设计欣Ajax技术专题
评论 点击查看 通行证密码 匿名发表
baidu
加入QQ群:35714363 一起成长
我要加入更多群 我有意见要反映
下载带有 Google 工具栏...
SQL Server 2000安装
安装MySQL步骤详解
通过滤镜实现的发光字
随机的背景图案
字幕滚动效果---定时滚
自己创建日历
极酷的图形钟表
字幕滚动效果(一)
VB+Access设计图书管理
试题:应聘JAVA类职位
Visual C++.NET&
汇编语言上机指导及例
C#结合串口通信类实现
VC++中利用MSXML解析X
学知识原创教程下载千句口语百句型英语StudyPlayer播放器《千言万语学英文》《英语单词分类记忆》07考研词汇记忆语音版专题英语---关爱女性健康WORDexcle视频小技巧72小时挑战Office技巧电脑软硬件常见问题精华电脑快捷键大全论文范文大全2007司法考试复习资料PHOTOSHOP字体特效60例PHOTOSHOP百日百例色彩理论及配色大全英语单词速记及语法大全24小时商务英语快速突破英语音标读法
FLASH版英语百日学习精华考研英语单词速记
本类最近更新阅读排行MySQL用户管理如何实现MySQL中的用户管理?MySQL数据导入与导出之二MySQL数据库技术(11)MySQL数据库技术(10)MySQL数据库技术(09)MySQL数据库技术(07)MySQL数据库技术(08)MySQL数据库技术(06)MySQL数据库技术(05)
安装MySQL步骤详解MySQL的字符串函数大全MySQL入门指南MySQL的管理工具:phpMyAdminMySQL常用操作命令MySQL数据库技术(04)VSFTP+MySQL虚拟用户配置过程如何在windows系统下安装MySQLMySQL
5.0 新特性教程 存储图形化管理MySQL 视频教程推荐
Office 2007电脑一级教程英语听力
FLASH视频教程PhotoShop教程VS.NET 2005
其他相关信息
站内热门精选JAVA开发教程
试题:应聘JAVA类职位面
Java SE6调用Java编译器
Java入门需掌握的30个基
Java入门需掌握的30个基
C#开发语言数据库
SQL Server 2
安装MySQL步骤详解
Oracle数据库技术(44)
网站开发关于学知识 | 大事记 | 发展意见 | 联系我们 | 加入我们 | 站内导航 | 知识搜索 | 友情链接 | 内容报错
Copyright©2006 Xuezhishi.Com All Rights Reserved 版权所有·学知识网
本站资源来源于互联网,如果无意中侵犯了您的版权,请来信告知,本站将在3个工作日内删除。 站服务群:35714363 设计群:42999654
漫画群:42287784 英语群:17210324
办公软件群:16593480
翼ICP备06007873号
网上冲浪更快更爽,下载... 工具栏的 Firefox
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -