MySQL与Oracle 差异比较之七用户权限

 更新时间:2017年04月05日 22:16:44   投稿:mdxy-dxy  
这篇文章主要介绍了MySQL与Oracle 差异比较之七用户权限,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

用户权限

编号 类别 ORACLE MYSQL 注释
1 创建用户 Create user user_name identified by user_password 
default tablespace starSpace temporary tablespace temp;
CREATE USER user_name IDENTIFIED BY user_password; 1.oracle创建用户
Oracle 的默认用户有三个: sys / system / scott. 其中sys和system 是系统用户,拥有dba权限, scott用户是Oracle数据库的一个示范账户, 在数据库安装时创建, 不具备dba权限. 
创建用户命令: 
Create user user_name identified by user_password 
[default tablespace tableSpace] 
[temporary tablespace tableSpace}; 
说明: 
每个用户都有一个默认表空间和一个临时表空间,如果没有指定,oracle就将system设置为默认表空间,将temp设为临时表空间. 

2.mysql创建用户
创建用户命令: 
mysql> CREATE USER yy IDENTIFIED BY '123'; 
yy表示你要建立的用户名,后面的123表示密码
上面建立的用户可以在任何地方登陆。
如果要限制在固定地址登陆,比如localhost 登陆:
mysql> CREATE USER yy@localhost IDENTIFIED BY '123';
2 删除用户 Drop user user_name cascade; Drop user user_name; 1. Oracle
SQL>drop user 用户名;  //用户没有建任何实体
SQL> drop user 用户名 CASCADE;  // 将用户及其所建实体全部删除
注: 当前正连接的用户不得删除。

2. Mysql
自4.1.1以后,删除一个MYSQL帐户,可以使用drop user 语句了。
不过在5.0.2之前的版本中,drop user语句只能删除没有任何权限的用户。
从5.0.2往后的版本中,drop user语句可以删除任何用户。(当然不能自己删自己)。示例:drop user "garfield"@"localhost"。别忘了加后面的@,不然会报错。

在4.1.1与5.0.2之间的版本中要删除一个MYSQL帐户,需要进行以下操作。
1) 使用show grants语句查看要删除的MYSQL帐户都有哪些权限,使用方法如show grants for "garfield"@"localhost"。
2) 使用revoke语句收回用户在show grants里拥有的权限。执行这个语句将删除除user表之外的其它所有权限表中的相关记录,并且收回在user表中该用户拥有的全局权限。
3) 使用drop user 语句把用户从user表中删除。
3 修改密码 alter user user_name identified by new_password
mysqladmin -u root -p 123456 password "your password";
1.mysql修改密码
第一种方式:
  1) 更改之前root没有密码的情况
    c:\mysql\bin>mysqladmin -u root password "your password"
2) 更改之前root有密码的情况,假如为123456
  c:\mysql\bin>mysqladmin -u root -p123456 password "your password"
  注意:更改的密码不能用单引号,可用双引号或不用引号
第二种方式:
 1) c:\mysql\bin>mysql -uroot -p密码 以root身份登录
 2) mysql>use mysql 选择数据库
 3) mysql>update user set password=password('你的密码') where User='root';
 4) mysqlflush privileges; 重新加载权限表
4 设置用户权限 Grant connect to star  -- star角色允许用户连接数据库, 并创建数据库对象
Grant resource to star  -- star角色允许用户使用数据库中的存储空间. 
Grant dba to star    -- DBA权限
GRANT ALL ON picture.* TO test IDENTIFIED BY "test"; 1. 详见<<oracle vs mysql 用户权限.doc>>  2.1 Oracle 权限设置 
2. 详见<<oracle vs mysql 用户权限.doc>>  1.4 用户权限设置
5  回收权限 Revoke select, update on product from user02; REVOKE privileges (columns) ON what FROM user 1. Oracle
   Revoke语句的基本格式如下:
   REVOKE 权限类型 [(字段列表)] [, 权限类型 [(字段列表)]…]ON {数据库名称.表名称}FROM 用户名@域名或IP地址
例如,管理员撤销用户admin@localhost对数据库xsxk所拥有的创建、创建数据库及表的权限,并撤销该用户可以把自己所拥有的权限授予其他用户的权限,可使用以下命令。
mysql>revoke create,drop on xsxk.* from admin@localhost;
mysql>revoke grant option on xsxk.* from admin@localhost;
revoke语句中的“用户名@域名或IP地址”部分必须匹配原来grant语句中的“用户名@域名或IP地址”部分,而“权限类型”部分可以是所授权的一部分权限。而且,revoke只能撤销权限,不能删除用户账户,在授权表user中仍保留该用户的记录;用户仍可以连接到数据库服务器。如果要完全删除用户,则使用前面提到的delete语句从user表中删除该用户记录。

2. Mysql
要取消一个用户的权限,使用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表中删除用户记录

相关文章

  • JDBC中resutset接口操作实例详解

    JDBC中resutset接口操作实例详解

    这篇文章主要介绍了JDBC中resutset接口操作实例详解,代码示例注释比较详细,需要的朋友可以参考下。
    2017-09-09
  • SQL查询的优化技巧详解

    SQL查询的优化技巧详解

    这篇文章主要介绍了SQL查询的优化技巧详解,查询优化的本质是让数据库优化器为SQL语句选择最佳的执行计划。一般来说,对于在线交易处理(OLTP)系统的数据库,减少数据库磁盘I/O是SQL语句性能优化的首要方法,需要的朋友可以参考下
    2023-07-07
  • JDBC大批量写入数据到SQLServer2000,记录数大于10000

    JDBC大批量写入数据到SQLServer2000,记录数大于10000

    JDBC大批量写入数据到SQLServer2000,记录数大于10000
    2009-12-12
  • windows环境下python连接openGauss数据库的全过程

    windows环境下python连接openGauss数据库的全过程

    openGauss是一款全面友好开放,携手伙伴共同打造的企业级开源关系型数据库,这篇文章主要给大家介绍了关于windows环境下python连接openGauss数据库的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • 问哭自己lsm?索引原理深入剖析

    问哭自己lsm?索引原理深入剖析

    这篇文章主要为大家介绍了问哭自己lsm?索引原理及剖析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • SQL利用Function创建长整形的唯一ID示例代码

    SQL利用Function创建长整形的唯一ID示例代码

    这篇文章主要给大家介绍了关于SQL利用Function创建长整形的唯一ID的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • Access转换成SQL Server需要注意事项整理

    Access转换成SQL Server需要注意事项整理

    很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---将ACCESS转化成SQL2000的方法和注意事项
    2008-04-04
  • 关于数据库系统的概述

    关于数据库系统的概述

    大家好,本篇文章主要讲的是关于数据库系统的概述,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • 解决mac上Navicat新建数据库3680错误问题

    解决mac上Navicat新建数据库3680错误问题

    这篇文章主要介绍了mac上Navicat新建数据库3680错误解决办法,很多朋友遇到这个问题不知道该如何解决,网上一搜一大把,但是不能解决核心问题,下面小编把我的解决过程分享给大家,需要的朋友可以参考下
    2021-11-11
  • SQL注入详解(扫盲篇)

    SQL注入详解(扫盲篇)

    刚进公司的时候,研究的主要是SQL注入,因为之前没有搞过安全,所有费了好长一段时间对SQL注入基本知识进行了解。所以这篇文章并不是什么很深入的技术博客,或许应该叫它‘ SQL注入扫盲 ’有需要的朋友可以参考学习,下面来一起看看吧。
    2017-01-01

最新评论

?


http://www.vxiaotou.com