MySQL之数据控制语言(DCL)

数据控制语言是用户对于数据库的访问权限的一些操作。

目的:root具有最高的权限,但实际上某些用户只能分配对数据库的部分权限,有时也想对用户登陆的IP进行限制。

用户的账号信息存储在名为mysql的数据库中,进入默认的root用户,USE mysql;SELECT user,host FROM user;mysql数据库里有个user表,表中user列是用户,host是IP地址,默认的root用户,host是localhost,这里可以用UPDATE语句将localhost改成你电脑自己的IP,我试的时候改成了自己的局域网IP,也就是说只有你这台电脑在这个局域网下用这个IP登陆才行,连接时必须要-h加上你的IP才行,这就起到了限制IP的作用。一定要更新一下,否则可能没用。

创建,删除用户账号

CREATE USER 新用户名@IP IDENTIFIED BY ‘密码’;如果没有@IP,host默认为%,就是所有IP都可以连接。我用的5.7的版本,输入新用户名和IP时不需要加引号,先前有些版本可能要加引号。然后更新一下,FLUSH PRIVILEGES;

RENAME USER 旧用户名 TO 新用户名;重命名

DROP USER 用户名@IP;删除账号

显示并设置访问权限

这步要在root下面操作,新建的账号是没有任何权限的。

SHOW GRANTS FOR 用户名@IP;显示该用户访问权限,下面显示GRANT USAGE表示没有任何权限。

GRANT 权限 ON *.* TO 用户名@IP;权限就是SELECT, INSERT, DELETE, UPDATE这类的,可以用ALL代替,表示赋予所有权限,*.*表示所有数据库中的所有表,第一个*可以用特定数据库代替,第二个*可以用特定的表代替,表示赋予有关特定数据库的特定表的某些权限。

REVOKE 和GRANT相对。

更改密码

在当前用户下可以直接SET PASSWORD = password(‘密码’);password()是个函数,用来加密密码。加上FOR 用户名,可以指定用户。

mysqladmin -uroot -p原密码 password 新密码       这样也可以改密码

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验三(2) SQL语言DCL 一、实验目的 SQL的数据控制通过DCL(数据控制语言) 实现。DCL通过对数据库用户的授权和收权命令来实现有关数据的存取控制,以保证数据库的安全性。 本次实验了解DCL语言的GRANT和REVOKE语句数据库存取权限的控制,学会SQL Server 2000的查询分析器中用DCL语言数据库存取权限进行设定。 本实验需要2学时。 二、实验内容 1.创建新的数据库用户 2.用GRANT语句数据库存取权限进行授权操作,语法格式如下: GRANT <特权组> To <用户组>|PUBLIC PUBLIC指数据库的所有用户。 3.用REVOKE语句将DBA(数据库管理员)、DBO(建库用户)授与其它用户对数据库的操作权收回,语法格式如下: REVOKE <权限组>|ALL PRIVILEGES [ON <对象名>] FROM <用户组名>|PUBLIC 三、实验任务 1. 创建新的数据库用户 要在STUDENTS数据库中创建一个“user0”数据库用户,可以按下面的步骤创建新数据库用户。 1) 在企业管理器中扩展SQL服务器及数据库文件夹。用鼠标右键单击用户 文件夹,弹出一个快捷菜单,在弹出的菜单中选择“新建数据库用户”项,会出现对话框。 2) 在对话框的登录名栏中选择一个SQL服务器登陆名和用户名。(选新建) 3) 单击“确定”按钮。 2.打开数据库SQL Server 2000的查询分析器,用新建的用户user0进行登录。 3.在查询分析器中,对STUDENTS中的表进行操作:查询(SELECT)等。会出现提示如图3:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值