MySQL与Oracle差异比较之用户权限的示例分析

发布时间:2021-07-28 11:42:19 作者:小新
来源:亿速云 阅读:236

这篇文章给大家分享的是有关MySQL与Oracle差异比较之用户权限的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

用户权限

编号类别ORACLEMYSQL注释
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 user1. 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表中删除用户记录

感谢各位的阅读!关于“MySQL与Oracle差异比较之用户权限的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

推荐阅读:
  1. Mysql与Oracle的分页查询比较
  2. MySQL用户权限验证与管理方法的示例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql oracle

上一篇:Python VIM 环境配置的实际操作方法

下一篇:MySQL与Oracle SQL语言差异有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》