引用及转载:
https://blog.csdn.net/vtopqx/article/details/82756653
https://blog.csdn.net/u013216667/article/details/70158452
https://www.cnblogs.com/roger112/p/7685307.html
ORACLE在system下进行以下操作:
MySQL在某个数据库下进行操作:
ORACLE数据库用户创建
语法[创建用户]: create user 用户名 identified by 口令[即密码];
例子: create user test identified by test;
语法[更改用户]: alter user 用户名 identified by 口令[改变的口令];
例子: alter user test identified by 123456;
MySQL数据库用户创建
允许本地IP访问localhost,127.0.0.1
语法: create user 用户名@'localhost' identified by 密码;
例子: create user 'test'@'localhost' identified by '123456';
允许外网IP访问,%通配所有远程主机
语法: create user 用户名@'%' identified by 密码;
例子: create user 'test'@'%' identified by '123456';
ORACLE删除用户
语法:drop user 用户名;
例子:drop user test;
若用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字cascade,可删除用户所有的对象,然后再删除用户。
语法: drop user 用户名 cascade;
例子: drop user test cascade;
MySQL删除用户
语法: delete from mysql.user where user = 用户名;
例子: delete from mysql.user where user = 'test';
ORACLE分配权限
权限分为系统权限、对象权限
1、系统权限
- 允许用户登录: create session
- 允许创建表:create table
- 允许创建视图:create view
- 允许创建序列:create sequence
- 允许创建过程:create procedur
语法: grant create table to 角色名;
列子: grant create table to testRole;
注:现在,拥有testRole角色的所有用户都具有创建表的权限
2、对象权限
对象权限在指定的表、视图、序列和过程等对象上执行特定操作的权限,包括insert,delete,update,select以及index,alter等
语法: grant select on emp to 角色名;
列子: grant select on emp to testRole;
注:现在,拥有testRole角色的所有用户都具有对emp表的select查询权限,但是要想查询数据必须加上表所在的用户
select * from scott.emp;
3、角色:权限的集合
提供三种标准角色:connect/resource and dba
1) connetc role(连接角色)
临时用户,特指不需要建表的用户,通常只赋予他们connect role.
仅能登录
2) resource role(资源角色)
更可靠和正式的数据库用户可以授予resource role.
resource提供给用户另外的权限以创建他们自己的表、序列、过程、触发器、簇
3) dba role(数据库管理员角色)
dba role拥有所有的系统权限
包括无限制的空间限额和给其他用户授予各种权限的能力,system由dba用户拥有
授权命令
语法: grant connect, resource to 用户名;
例子: grant connect, resource to test;
撤销权限
语法: revoke connect, resource from 用户名;
列子: revoke connect, resource from test;
MySQL分配所有权限:增删改查
授权命令
语法: grant all privileges on 数据库名.表名 to 用户@'localhost' identified by 密码;
立即启用修改: flush privileges;
例子: grant all privileges on 'testdb'.* to 'test'@'localhost' identified by '123456';
flush privileges;
删除权限
语法: revoke all on *.* from 用户;
例子: revoke all on *.* from test;
ORACLE创建授权/创建/删除角色
除了上述所说的三种系统角色,用户还可以在oracle创建自己的role,用户创建的role可以由表和系统权限或两者的组合构成
创建角色
语法: create role 角色名;
例子: create role testRole;
授权角色
语法: grant create table ,create view,create sequence to 角色名;
列子: grant select on class to testRole;
注:现在,拥有testRole角色的所有用户都具有对class表的select查询权限
删除角色
语法: drop role 角色名;
例子: drop role testRole;
注:与testRole角色相关的权限将从数据库全部删除
ORACLE表空间分配
创建表空间
语法:create tablespace tablespacename datafile 'd:\data.dbf' size xxxm;
tablespacename:表空间的名字
d:\data.dbf':表空间的存储位置
xxx表空间的大小,m单位为兆(M)
将空间分配给用户
语法:alert user username default tablespace tablespacename;
将名字为tablespacename的表空间分配给username