MySQL数据库用户管理

1、数据库权限

1.1什么是数据库权限

数据库权限是指控制数据库用户对数据库对象(如表、视图、存储过程等)进行操作的权限。数据库权限是数据库安全性的重要组成部分,通过对数据库用户进行权限控制,可以限制用户对敏感数据的访问和操作,保护数据库的安全性和完整性。

1.2数据库权限分类

数据库权限通常分为以下几种类型:

1、数据库级别权限:控制用户对整个数据库的操作权限,如创建、删除、备份、还原等。
2、对象级别权限:控制用户对特定数据库对象(如表、视图、存储过程等)的操作权限,如查询、修改、删除、插入等。
3、列级别权限:控制用户对特定表的某些列的操作权限,如查询、更新等。
4、存储过程和函数权限:控制用户对存储过程和函数的执行权限。

数据库权限管理通常由数据库管理员进行,管理员可以通过授权、撤销授权等方式来管理用户的权限。在进行数据库权限管理时,需要根据业务需求和安全策略对不同用户进行不同的权限分配,以确保数据库的安全和完整性。
需要注意的是,数据库权限管理是一个持续的过程,需要不断进行维护和更新,以适应不同的业务需求和安全威胁。

1.3用户管理

新建用户

create  user 'user'@'localhost' identified by '123456';

在这里插入图片描述

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

select user,host,authentication_string from user;

在这里插入图片描述

授权后可以登录

mysql -uuser -p123456

在这里插入图片描述

修改用户将user1改为hjp

rename user 'user1'@'localhost' to 'hjp'@'localhose';

在这里插入图片描述

删除用户

drop user ’user2'@'localhost';

在这里插入图片描述

 select  user,host,auothentication_string from user;
 //查看user

在这里插入图片描述

修改密码

set password = password('abc123');
//将密码修改为abc123

在这里插入图片描述

修改其他用户密码

set password for 'user'@'localhost' = password('abc123');
//修改user密码123456改为abc123

在这里插入图片描述

2、用户授权

2.1grant提权

格式:
GRANT 权限列表 ON 数据库名.表名 TO ‘用户名’@‘来源地址’ [IDENTIFIED BY ‘密码’];

grant all privileges on *.* to 'user'@'%' identified by '123456';

在这里插入图片描述

使用其他终端登录111的数据库

mysql -h 192.168.140..111 -p 3306 -u hjp -p123456;

在这里插入图片描述

拥有所有权限

在这里插入图片描述

2.2查看权限

show grants for 'hjp'@'%';

在这里插入图片描述

2.3撤销权限

撤销hjp所有权限
#USAGE权限只能用于数据库登陆,不能执行任何操作; USAGE权限不能被回收,即REVOKE不能删除用户

remove all on *.* from 'hjp'@'%';

在这里插入图片描述

可以看到只有用户权限

show grants for 'hjp'@'%';

在这里插入图片描述

3、修改密码

3.1修改当前用户密码

set password = password('abc123');
//将密码修改为abc123

在这里插入图片描述
在这里插入图片描述

3.2修改其他用户密码

set password for 'user'@'localhost' = password('abc123');
//修改user密码123456改为abc123

在这里插入图片描述

3.3修改root密码

进入/etc/my.cnf,添加一句命令,可以免密登录

vim /etc/my.cnf
//进入配置文件
增加下面一行
进入/etc/my.cnf删除

在这里插入图片描述

重启服务

 systemctl restart mysqld
 //重启数据库

在这里插入图片描述

修改密码为abc123

update mysql.user set authentication_string = password('abc123') where user='root';

在这里插入图片描述

进入/etc/my.cnf删除进入/etc/my.cnf删除

在这里插入图片描述

重启服务,使用abc123进入数据库

systemctl restart mysqld.service //重启mysql
mysql -uroot -pabc123  //使用修改的密码登录

在这里插入图片描述

4、远程登录

4.1远程登录

格式:
GRANT 权限列表 ON 数据库名.表名 TO ‘用户名’@‘来源地址’ [IDENTIFIED BY ‘密码’];

grant all privileges on *.* to 'user'@‘%’ identified by '123456';

在这里插入图片描述

使用其他终端登录111的数据库

 mysql -h 192.168.140..111 -p 3306 -u hjp -p123456;

在这里插入图片描述

4.2软件远程登录

Naicat
在这里插入图片描述

5、总结

数据库权限管理通常由数据库管理员进行,管理员可以根据业务需求和安全策略对用户进行不同的权限分配,以确保数据库的安全和完整性。在进行数据库权限管理时,需要注意数据安全性,避免用户滥用或泄露敏感信息。在进行远程连接时需要保证网络连接的稳定和安全,避免非授权用户进行恶意访问和攻击。此外,为了保证数据安全性,应该使用安全加密通信协议(如SSL/TLS)进行数据传输。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值