MySQL安全小实验W1
一. 实验目的
掌握MySQL数据库的相关安全配置操作。
二. 实验原理
通过对数据库用户进行管理和用户权限控制等操作,对数据库进行相关安全配置。
三. 实验内容
1、运行 MySQL 的命令窗口,查看User 表。
2、修改用户 root 的密码。
3、查看并删除空用户。
4、MySQL授权表的结构与内容。
5、增加用户,并授权。
6、删除用户的权限,并删除用户。
四. 实验环境描述
1、主机Windows10专业版安装mysql 5.7
五. 实验步骤
1.1 徽标键+R,输入cmd回车,打开命令行提示符
1.2 用root用户名登陆MySQL 5.7,如下图:
1.3 密码mysqlpassword,直接按Enter键进入,界面如下图所示
- 4 查看User表 运行如下图所示的命令,查看User 表。
select Host,User,authentication_string,Select_priv,Grant_priv from user;
2.修改用户root 的密码 运行如下图所示的命令,将MySQL 数据库root 用户的口令改成123123。其中最后一句命令flush privileges的意思是强制刷新内存授权表,否则用的还是缓冲中的口令,这时非法用户还可以用root用户及空口令登录,直到重启MySQL服务器。
update user set authentication_string=password('mysqlroot') where user = 'root';
3.删除空用户 运行如下图所示的命令,删除空用户。Host字段为localhost的匿名用户拥有所有的权限,就是说本地用户用空的用户名和空的口令登录MySQL数据库服务器可以得到最高的权限,所以匿名用户必须删除。
4.MySQL授权表的结构与内容 (1) Desc user User 表是授权表中最重要的一个,运行如下图所示的命令,列出可以连接服务器的用户及其加密口令,并且它指定它们有哪种全局(超级用户)权限。在User表启用的任何权限均是全局权限,并适用于所有数据库。所以我们不能给任何用户访问mysql.user表的权限。
(2) Desc db 运行如下图所示的命令,查看Db表,列出所有数据库,而用户有权限访问它们。在这里指定的权限适用于一个数据库中的所有表。
5.1 增加用户,并授权 如下图所示的命令用于增加一个本地具有所有权限的test 用户(超级用户),密码是test。ON子句中的.意味着“所有数据库、所有表”。with grant option表示它具有grant权限。用grant语句创建权限是不需要再手工刷新授权表的,因为它已经自动刷新了。
flush privileges;
grant all privileges on *.* to root100@localhost identified by 'root100' with grant option;
5.2 查看运行结果,如下图所示。
6.1 删除用户的权限,并删除用户 删除用户权限,如下图所示。
6.2 删除用户test,如下图所示
6.3 查询用户