MySQL数据库管理(二)

目录

前言

一、用户与授权

1.新建用户

2.查看用户信息

3.重命名用户

4.给用户设置密码

5.删除用户

6.忘记root密码的解决办法

二、授权控制

1.授予权限

2.数据库用户授权

3.查看权限

4.撤销权限

总结


前言

数据库是信息系统中非常重要的一个环节,合理高效地对它进行管理是很重要的工作。通常是由总管理员创建不同的管理账户,然后分配给不同的操作权限,把这些账户交给相应的管理人员使用。

一、用户与授权

1.新建用户

命令格式:CREATE USER '用户名'@'来源地址' [IDENTIFIED BY [PASSWORD] '密码'];

用户名:将要创建的用户名。

来源地址:指定新创建的用户可在哪些主机上登录,可使用IP地址、网段、主机名的形式,本地用户可用localhost,允许任意主机登录可用通配符%。

密码:若使用明文密码,直接输入'密码',插入到数据库时由Mysql自动加密;若使用加密密码,需要先使用SELECT PASSWORD('密码');获取密文,再在语句中添PASSWORD '密文';若省略“IDENTIFIED BY"部分,则用户的密码将为空(不建议使用)。

2.查看用户信息

创建后的用户保存在mysql数据库的user表里。

3.重命名用户

 格式:RENAME USER '旧用户名'@'localhost' TO '新用户名'@'localhost';

4.给用户设置密码

修改用户密码的方式有两种,可以修改当前登录用户的密码或者修改其他用户的密码。

修改当前登录用户的密码

mysql> set password = password('密码');

修改其他用户的的登陆密码

mysql> set password for '其他用户名'@'localhost' = password('密码');

5.删除用户

既然用户是存在user表中,直接使用DELETE语句也可以对它进行删除,但和DROP是有区别的。DROP不只是删除用户表,还会把相关权限删除,而DELETE只删除用户,权限在数据表中仍然存在。

DROP USER '用户名'@'localhost';
mysql> select user,authentication_string,host from user;

6.忘记root密码的解决办法

使用MySQL时,如果忘记了其他用户的密码,可以使用root用户进行重设,但是如果忘记了root的密码,就需要采用特殊的办法进行操作。

1.先停止mysql的服务进程。
[root@localhost ~]# systemctl stop mysqld
2.使用mysqld_safe结合skip-grant-tables启动数据库。
[root@localhost ~]# mysqld_safe --skip-grant-tables&
3.可以不使用密码直接登录到mysql。
[root@localhost ~]# mysql
mysql> update mysql.user set authentication_string = password('123456') where user='root';
4.刷新数据库。
mysql> flush privileges;
5.新密码登录,登录成功说明修改成功。
[root@localhost ~]# mysql -uroot -p123456

二、授权控制

在 MySQL 中,权限设置非常重要,分配权限可以清晰地划分责任,管理人员只需要关注自己的任务即可,最重要的是保证系统数据的安全。

1.授予权限

1.授予能满足需要的最小权限,防止用户误操作和干坏事。

2.创建用户的时候限制用户的登录主机,一般是限制成指定 IP 或内网 IP 段。

3.初始化数据库时删除没有密码的用户,因为安装完数据库时会自动创建一些用户,这些用户默认没有密码。

4.为每个用户设置满足密码复杂度的密码。

5.定期清理不需要的用户,如回收权限或删除用户。

2.数据库用户授权

命令:GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'来源地址' [IDENTIFIED BY '密码'];

mysql> grant 权限 on 库名.表名 to '用户名'@'地址来源'identified by '密码';   #可以搭配通配符“%”使用,表示所有
mysql> flush privileges;   #刷新权限

all privilege权限如下:
insert(插入数据) 
select (查询数据) 
update (更新表的数据) 
delete(删除表中数据) 
create (创建库,表) 
drop(删除库,表)
refernces 
index(建立索引) 
alter(更改表属性)
create temp orary tableslock tables (锁表)
execute
create view (创建视图) 
show view(显示视图)
create routine(创建存储过程) 
alter routine(修改存储过程)
event(事件)
trigger on(创建触发器)

3.查看权限

查看用户拥有的权限可以使用SHOW GRANTS命令。

格式:SHOW GRANTS FOR '用户名'@'主机地址';

4.撤销权限

使用 REVOKE 语句可以撤销指定用户的数据库权限。

格式:REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@来源地址;

总结

新建用户:create user '用户名'@'来源地址' identified by [password] '密码'];
数据库用户授权:grant 权限列表 on 数据库名.表名 to '用户名'@'来源地址' [identified by '密码']; 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值