MySQL与ORACLE的数据库用户创建、分配权限,表空间分配

引用及转载:

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、系统权限

  1. 允许用户登录: create session
  2. 允许创建表:create table
  3. 允许创建视图:create view
  4. 允许创建序列:create sequence
  5. 允许创建过程: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 

MySQL没有真正意义上的表空间

展开阅读全文

没有更多推荐了,返回首页