实验4 用户权限管理

一、实验目的:

(1) 理解My SQL的权限系统的工作原理。

(2) 理解My SQL账户及权限的概念。

(3) 掌握管理My SQL账户和权限的方法。

(4) 学会创建和删除普通用户的方法和密码管理的方法。

(5) 学会如何进行权限管理。

二、验证性实验

实验任务如下:

(1) 使用root用户创建Testuser1用户,初始密码设置为123456。让该用户对所有数据库拥有SELECT、CREATE、DROP权限。

CREATE USER 'Testuser1'@'localhost' IDENTIFIED BY '123456';
GRANT SELECT,CREATE,DROP ON *.* TO 'Testuser1'@'localhost';

 (2) 创建Testuser2用户,该用户没有初始密码。 

CREATE USER 'Testuser2'@'localhost';

 

  •  'Testuser2'@'localhost' 是一个完整的用户标识符。这个标识符由两部分组成:用户名和主机名
  • localhost 表示此用户只能从本地主机连接到 MySQL 服务器。这是一个特殊的主机名,代表本地连接或者通过 Unix 套接字连接。这意味着只有在 MySQL 服务器运行在相同的机器上并且客户端也在该机器上时,这个用户才能进行连接。
  •  用通配符 %  Testuser2@'%' 允许 Testuser2 用户从任何主机连接到 MySQL 服务器。

 

  (3) 用Testuser2用户登录,将其密码修改为000000。

ALTER USER 'Testuser2'@'localhost' IDENTIFIED BY '000000';

 (4) 用Testuser1用户登录,为Testuser2用户设置CREATE和DROP权限。

GRANT CREATE, DROP ON *.* TO 'Testuser2'@'localhost';

 (5) 用Testuser2用户登录,验证其拥有的CREATE和DROP权限。

SHOW GRANTS FOR 'Testuser2'@'localhost';

 

 (6) 用root用户登录,收回Testuser1用户和Testuser2用户的所有权限。

REVOKE ALL PRIVILEGES ON *.* FROM 'Testuser1'@'localhost';
REVOKE ALL PRIVILEGES ON *.* FROM 'Testuser2'@'localhost';
FLUSH PRIVILEGES;
  •  FLUSH PRIVILEGES;

        是一个MySQL语句,用于重新加载授权表中的权限内容,确保当前的权限更改立即生效。当对用户的权限进行了修改后,使用FLUSH PRIVILEGES;可以使修改立即生效,而无需重启MySQL服务器。在执行诸如创建、修改或删除用户以及赋予或撤销用户权限等操作后,通过执行FLUSH PRIVILEGES;可以确保数据库立即应用最新的权限设置。

 (7) 删除Testuser1用户和Testuser2用户。

DROP USER Testuser1@localhost,Testuser2@localhost;

三、观察与思考

新创建的MySQL用户能否在其他机器上登录MySQL数据库?

 答:

新创建的MySQL用户默认情况下无法在其他机器上登录MySQL数据库。这是因为MySQL用户的登录受到多种限制,包括来自特定主机的访问权限。默认情况下,新创建的MySQL用户只能从本地主机(localhost)登录MySQL数据库。

但是要允许新创建的MySQL用户在其他机器上登录MySQL数据库,可以授予远程访问权限,授予新用户从指定主机的访问权限。

GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'remote_host' IDENTIFIED BY 'password';

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值