举个例子:
--通过加入数据库角色,赋予数据库用户“db_owner”权限
exec sp_addrolemember 'db_owner', 'dba'此时,dba
就可以全权管理数据库中的对象了。
建议通过phpMyAdmin
来设置数据库用户的权限。phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。
一、首先您需要在服务器上安装配置
phpMyAdmin。
安装比较复杂,详见>
具体需要哪些权限需要看用户的实际需要。\x0d\系统权限分类:\x0d\DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。\x0d\RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。\x0d\CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。\x0d\对于普通用户:授予connect, resource权限。\x0d\对于DBA管理用户:授予connect,resource, dba权限。\x0d\系统权限授权命令:\x0d\系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)\x0d\授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2];\x0d\注:普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。
用户在具有了访问数据库的权限之后,就可以授予其访问数据库对象的权限了。可授予对象的权限包括以下几种:
�8�5 �8�5 SELECT
允许用户对表或视图发出SELECT语句。
�8�5 �8�5 INSERT
允许用户对表或视图发出INSERT语句。
�8�5 �8�5 UPDATE
允许用户对表或视图发出UPDATE语句。
�8�5 �8�5 DELETE
允许用户对表或视图发出DELETE语句。
�8�5 �8�5 EXECUTE
允许用户对存储过程发出EXECUTE语句。
第1步:打开phpMyAdmin,点击菜单栏的用户按钮,进入用户管理页面。
第2步:用户管理页面列出了现有用户信息,点击添加用户创建新用户。
第3步:输入用户名User name。有两个选项:任意用户、使用文本域,它们之间没有明显区别,推荐选择“使用文本域”,然后在文本框中输入用户名,如sky。
第4步:输入主机Host信息。这里有四个选项:任意主机(%)、本地( localhost)、使用主机表(host)、Use text field(即使用文本域)。
任意主机表示匹配所有主机;本地表示仅限本地主机(默认填写localhost);使用主机指以MySQL数据库中的host表中的数据为准,不需填写任何信息(如果填写则此选项无效);使用文本域表示自行填写主机地址信息。此处选择“本地”选项。
第5步:输入密码和Re-type(确认密码)。有两个选项:无密码、使用文本域。此处选择“使用文本域”,可以手动输入密码,也可以点击生成按钮,自动生成密码并在最下方文本框中显示。
第6步:为用户分配权限。权限管理分为两大块:用户数据库和全局权限。
用户数据库包括两个选项:创建与用户同名的数据库并授予所有权限;给以用户名_开通的数据库授予所有权限。可根据需要自行选择。此处两个都未选,仅创建新用户。
全局权限包括四部分:数据、结构、管理和资源限制。可根据需要自行选择。这里我选择了“全选”。
第7步:权限分配好后,点击右下角的执行按钮,执行创建新用户 *** 作。
2 编辑用户权限
第1步:进入phpMyAdmin用户管理页面,我们可以看到刚才创建的用户sky,如图所示。
第2步:点击用户sky对应的编辑权限按钮,进入编辑页面。
第3步:根据需要修改勾选权限选项后,点击执行按钮保存修改。
3 修改用户信息
第1步:用户的用户名、主机、密码等信息的修改也在“编辑权限”页面。所以首先也要点击用户sky对应的编辑权限按钮,进入编辑页面。
第2步:修改用户信息主要涉及“修改密码”和“修改登录信息/复制用户”两块,分别填写相应内容,并点击对应的执行按钮完成 *** 作即可。
4 删除用户
第1步:进入phpMyAdmin用户管理页面,选中需要删除的用户,以sky为例。
第2步:点击右下角的执行按钮,删除用户sky。如果创建用户时选择了“创建与用户同名的数据库并授予所有权限”选项,则可以勾选删除选中的用户模块中的“删除与用户同名的数据库”,将数据库和用户一起删除。
MySQL数据库中的表与其他任何关系表没有区别,都可以通过典型的SQL命令修改其结构和数据。可以使用GRANT和REVOKE命令。通过这些命令,可以创建和禁用用户,可以在线授予和撤回用户访问权限。在50版本中增加了两个新命令:CREATE USER和DROP USER。从而能更容易地增加新用户、删除和重命名用户,还增加了第三个命令RENAME USER用于重命名现有的用户。
使用CREATE USER命令创建用户
CREATE USER用于创建新的MySQL账户。要使用CREATE USER语句,您必须拥有mysql数据库的全局CREATE USER权限,或拥有INSERT权限。对于每个账户,CREATE USER会在没有权限的mysqluser表中创建一条新记录。如果账户已经存在,则出现错误。使用自选的IDENTIFIED BY子句,'可以为账户设置一个密码。user和密码的设置方法与GRANT语句一样。其命令的原型如下:
CREATE USER user [IDENTIFIED BY [PASSWORD 'PASSWORD'] [,user [IDENTIFIED BY [PASSWORD'PASSWORD']]……
create user temp identified by '123456';
使用DROP USER命令删除用户
如果存在一个或是多个账户被闲置,应当考虑将其删除,确保不会用于可能的违法活动。利用DROP USER命令就能很容易地从权限表中删除用户的所有信息,即来自所有授权表的账户权限记录。DROP USER命令原型如下:
DROP USER user [,user] ……
ps"DROP USER不能自动关闭任何打开的用户对话;而且,如果用户有打开的对话,此时取消用户,则命令不会生效,直到用户对话被关闭后才生效。一旦对话被关闭,用户也被取消,此用户再次试图登录时将会失败。
使用RENAME USER命令重命名用户
RENAMEUSER语句用于对原有MySQL账户进行重命名。RENAMEUSER语句的命令原型如下:
RENAME USER old_user TO new_user [,old_user TO new_user] ……
ps:如果旧账户不存在或者新账户已存在,则会出现错误。
回到顶部
权限管理
GRANT和REVOKE命令
GRANT和REVOKE命令用来管理访问权限,也可以用来创建和删除用户,但在MySQL502中可以利用CREATE USER和DROP USER命令更容易地实现这些任务。GRANT和REVOKE命令对于谁可以 *** 作服务器及其内容的各个方面提供了多程度的控制,从谁可以关闭服务器,到谁可以修改特定表字段中的信息都能控制。


如果授权表拥有含有mixed-case数据库或表名称的权限记录,并且lower_case_table_names系统变量已设置,则不能使用REVOKE撤销权限,必须直接 *** 纵授权表。(当lower_case_table_names已设置时,GRANT将不会创建此类记录,但是此类记录可能已经在设置变量之前被创建了。)
授予的权限可以分为多个层级:
全局层级适用于一个给定服务器中的所有数据库,这些权限存储在mysqluser表中。GRANT ALL ON 和REVOKE ALL ON 只授予和撤销全局权限。
数据库层级适用于一个给定数据库中的所有目标,这些权限存储在mysqldb和mysqlhost表中。GRANT ALL ON db_name 和REVOKE ALL ON db_name 只授予和撤销数据库权限。
表层级适用于一个给定表中的所有列,这些权限存储在mysqltables_priv表中。GRANT ALL ON db_nametbl_name和REVOKE ALL ON db_nametbl_name只授予和撤销表权限。
列层级适用于一个给定表中的单一列,这些权限存储在mysqlcolumns_priv表中。当使用REVOKE时,您必须指定与被授权列相同的列。
子程序层级,CREATE ROUTINE, ALTER ROUTINE, EXECUTE和GRANT权限适用于已存储的子程序,这些权限可以被授予为全局层级和数据库层级;而且,除了CREATE ROUTINE外,这些权限可以被授予为子程序层级,并存储在mysqlprocs_priv表中。

grant all on to user identified by '123456' with grant option;
--授予用户名为user、密码为123456的用户使用所有数据库的所有权限,并允许他向其他人授予这些权限。
revoke all privileges,grant from user;
grant usage on books to user identified by '123456';
--创建一个没有任何权限的常规用户
grant select,insert,update,delete,index,alter,create,drop on books to user;
--为用户user授予适当的权限
revoke alter,create,drop on books from user;
--减少权限
revoke all on books from user;
--撤销所有的权限

p
MySQL的权限有哪些?
一.权限表
mysql数据库中的3个权限表:user
、db、
host
权限表的存取过程是:
1)先从user表中的host、
user、
password这3个字段中判断连接的IP、用户名、密码是否存在表中,存在则通过身份验证;
2)通过权限验证,进行权限分配时,按照useràdbàtables_privàcolumns_priv的顺序进行分配。即先检查全局权限表user,如果user中对应的权限为Y,则此用户对所有数据库的权限都为Y,将不再检查db,
tables_priv,columns_priv;如果为N,则到db表中检查此用户对应的具体数据库,并得到db中为Y的权限;如果db中为N,则检查tables_priv中此数据库对应的具体表,取得表中的权限Y,以此类推。
二.MySQL各种权限(共27个)
(以下 *** 作都是以root身份登陆进行grant授权,以p1@localhost身份登陆执行各种命令。)
1
usage
连接(登陆)权限,建立一个用户,就会自动授予其usage权限(默认授予)。
mysql>
grant
usage
on
to
‘p1′@’localhost’
identified
by
‘123′;
该权限只能用于数据库登陆,不能执行任何 *** 作;且usage权限不能被回收,也即REVOKE用户并不能删除用户。
2
select
必须有select的权限,才可以使用select
table
mysql>
grant
select
on
pyt
to
‘p1′@’localhost’;
mysql>
select
from
shop;
3
create
必须有create的权限,才可以使用create
table
mysql>
grant
create
on
pyt
to
‘p1′@’localhost’;
4
create
routine
必须具有create
routine的权限,才可以使用{create
|alter|drop}
{procedure|function}
mysql>
grant
create
routine
on
pyt
to
‘p1′@’localhost’;
当授予create
routine时,自动授予EXECUTE,
ALTER
ROUTINE权限给它的创建者:
mysql>
show
grants
for
‘p1′@’localhost’;
+—————————————————————————+
Grants
for
p1@localhost
+————————————————————————–+
|
GRANT
USAGE
ON
TO
‘p1′@’localhost’
IDENTIFIED
BY
PASSWORD
‘23AE809DDACAF96AF0FD78ED04B6A265E05AA257′
|
|
GRANT
SELECT,
CREATE,
CREATE
ROUTINE
ON
`pyt`
TO
‘p1′@’localhost’|
|
GRANT
EXECUTE,
ALTER
ROUTINE
ON
PROCEDURE
`pyt``pro_shop1`
TO
‘p1′@’localhost’
|
+————————————————————————————-+
5
create
temporary
tables(注意这里是tabl
以上就是关于sqlserver 创建数据库的权限是哪个全部的内容,包括:sqlserver 创建数据库的权限是哪个、如何设置数据库的权限、oracle创建用户后需要授哪些权限等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)