Sql创建用户及授权

1.Mysql数据库

1.1创建用户

  1. create user ‘hzm’ identified by ‘123456’ # hzm:用户账号,123456:密码
  2. create user ‘hzm’@’%’ identified by ‘123456’ #所有ip都可用账号
  3. create user ‘hzm’@’localhost’ identified by ‘123456’ #本地可用账号
  4. create user ‘hzm’@’192.168.12.1’ identified by ‘123456’ #具体哪个IP可以使用账号
  5. create user ‘hzm’@’192.168.12.%’ identified by ‘123456’ #具体哪个网段可以使用账号

1.2删除用户

drop user ‘hzm’

1.3修改用户

1)修改用户名
rename user ‘hzm’ to ‘hzm1’ # hzm:原用户; hzm1:新用户

2)修改密码
set password for ‘hzm’ =password(‘12321’) #hzm:用户;12321:新密码

1.4授权

  1. 基本语法
    grant 权限 on 数据库.表 to ‘用户’@’IP地址’

  2. grant select on myDB to ‘hzm’@’%’;
    #授予用户hzm 对于整个数据库myDB的查询(select)权限

  3. grant select on myDB.myTable to ‘hzm’@’%’;
    #授予用户hzm 对于整个数据库myDB下的表(mytable)的查询(select)权限

  4. grant select,insert on . to ‘hzm’ @’%’;
    #授予用户hzm对于所有数据库的查询,新增权限

  5. grant all privileges on . to ‘hzm’@’%’;
    #授予用户hzm 对于所有数据库的所有权限,除创建用户权限外

注:

1)创建与授权联合使用
grant all privileges on . to “hzm”@”%” identified by ‘123456’ with grant option;

  1. 每次授权完,刷新授权
    flush privileges;

2.Oracle数据库

2.1创建用户

create user hzm identified by ‘123456’ #新建用户hzm,密码123456

2.2授权

1.基本语法:
grant 权限1,权限2,… to 用户名;

权限有系统权限,角色权限和对象权限。

系统权限:
1)允许用户登录:create session
2) 允许创建表:create table
3)允许创建视图:create view
4) 允许创建序列:create sequence
5)允许创建过程:create procedur
例如:grant create session,create table to hzm;

角色权限:
数据库中系统权限,用户权限很多,如果针对每个用户逐个分配每个权限,费时又费力。因此,可以将相关的一系列权限组成一个命名的组,这个权限组就是角色。角色拥有的权限就是角色权限,将角色权限授予用户,则这个角色权限拥有的权限就全部授予了这个用户。一个用户可以被指定为多个角色,则同时拥有这多个角色所拥有的全部权限。例如:
create role dev; //创建dev角色
grant create table ,create view,create sequence to dev; //给dev角色授权
grant dev to hzm; //给hzm dev角色

对象权限:
对象权限是在指定的表,视图,序列和过程等对象上执行特定操作的权限,包括insert,delete,update,select以及index,alter,references(引用权限)和execute(执行权限)。但并不是每个对象都可以被授予这些权限
例如:grant select,insert on myDB to hzm
//将数据库myDB的select和insert权限给用户hzm

撤销权限
revoke insert to hzm

但是一般就直接用下面的语句授权
grant connect,resource,dba to hzm;

connect 权限:分配给普通用户;
该权限具有:
alter session —— 修改会话;
create cluster —— 创建聚簇;
create database link —— 创建数据库连接;
create sequence —— 创建序列;
create session —— 创建会话;
create synonym —— 创建同义词;
create view —— 创建视图;

resource 权限:分配给设计人员;
该权限具有:
create cluster —— 创建聚簇;
create procedure —— 创建过程;
create sequence —— 创建序列;
create table —— 创建表;
create trigger —— 创建触发器;
create type —— 建类型;

dba 权限:分配给数据库管理员,拥有所有权限

SQL Server中,要创建用户并为其授权表可以通过以下步骤完成: 1. 首先,登录到SQL Server的数据库引擎,以具有足够权限的用户身份登录。 2. 打开SQL Server Management Studio(SSMS)并连接到相应的SQL Server实例。 3. 在对象资源管理器中,展开“数据库”文件夹,找到要创建用户数据库。 4. 右键单击该数据库,选择“新建查询”以打开查询窗口。 5. 在查询窗口中,执行以下T-SQL语句创建用户: ```sql CREATE LOGIN 用户名 WITH PASSWORD = '密码'; ``` 其中,“用户名”是要创建的用户名称,“密码”是用户的密码。 6. 接下来,执行以下T-SQL语句创建用户数据库用户: ```sql USE 数据库名; CREATE USER 用户名 FOR LOGIN 用户名; ``` 这将在指定数据库中创建一个与登录名相同的用户。 7. 要为用户授予对表的权限,执行以下T-SQL语句: ```sql USE 数据库名; GRANT 操作权限 ON 对象名 TO 用户名; ``` 其中,“操作权限”可以是SELECT、INSERT、UPDATE、DELETE等,取决于您要授予的权限。“对象名”可以是表、视图等数据库对象的名称,“用户名”是要授予权限的用户名称。 例如,要授予用户以选择、插入和更新表的权限,可以执行以下T-SQL语句: ```sql USE 数据库名; GRANT SELECT, INSERT, UPDATE ON 表名 TO 用户名; ``` 通过执行以上步骤,您将能够成功创建一个用户并为其授权表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

睡懵的熊...猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值