当前位置: 首页 > news >正文

MySQL数据库用户管理

MySQL数据库用户管理

  • 1、数据库权限
    • 1.1什么是数据库权限
    • 1.2数据库权限分类
    • 1.3用户管理
  • 2、用户授权
    • 2.1grant提权
    • 2.2查看权限
    • 2.3撤销权限
  • 3、修改密码
    • 3.1修改当前用户密码
    • 3.2修改其他用户密码
    • 3.3修改root密码
  • 4、远程登录
    • 4.1远程登录
    • 4.2软件远程登录
  • 5、总结

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)进行数据传输。

http://www.lryc.cn/news/175113.html

相关文章:

  • package.json属性
  • C# 把m4a格式文件转为MP3格式
  • 【分享】Word文档如何批量转换成PDF?
  • dedecms tag 伪静态 数字版本
  • mysql数据库ip被阻断
  • Nginx WEB访问与Linux授权约束
  • 影响独立服务器稳定运行的因素
  • Xcode14.3.1打包报错Command PhaseScriptExecution failed with a nonzero exit code
  • [RF学习记录][ssh library][execute Command】关键字的返回值
  • 【Python入门教程】Python实现猜数字小游戏
  • vue项目打包部署到服务器,报错。
  • 适用于初学者,毕业设计的5个c语言项目,代码已开源
  • 虾皮商品详情数据接口
  • 数据大爆炸:大数据分析如何改变我们的世界
  • WorkPlus私有化部署IM即时通讯平台,构建高效安全的局域网办公环境
  • [C++随笔录] list使用
  • 机器学习总结
  • 【刷题笔记9.24】LeetCode:二叉树最大深度
  • 投资理财知识分享:100个金融知识专业术语
  • 【ESP8266+TM1650时钟数码管+DS3231模块】制作网络时钟
  • 手动安装Linux服务器JDK
  • 9月24日,每日信息差
  • 【Linux】详细介绍Linux重入不可重入带例子
  • 学术团体的机器人相关分会和机器人相关大赛的说明
  • C# 并发编程
  • 关于ClickHouse的表引擎和SQL操作
  • rust字符串
  • 解析-BeautifulSoup
  • C++:数组
  • 结合Mockjs与Bus事件总线搭建首页导航和左侧菜单