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

MySQL 用户管理与权限控制

前言

如果我们智能使用root用户进行操作的话,相当于我们进行访问root 权限下的OS,之前我们了解过一切皆文件的思想,使用mysql其实也就是在系统中进行对数据库文件或者表文件进行管理,当所有人都具有权限时这是很危险的,容易出现误删文件等安全隐患。此时我们就需要进行使用MySQL进行用户管理。

进行查看用户信息

查看用户的基本信息(用户名,这个用户对应的从哪个主机登陆,如果是localhost,表示只能从本机登陆,用户密码通过password函数加密后的密码)

select user,host,authentication_string from mysql.user;
  • user: 用户名
  • host: 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆
  • authentication_string: 用户密码通过password函数加密后的

  • mysql.infoschema:这是 MySQL 系统数据库用户,用于 MySQL 的信息架构。

  • mysql.session:这是 MySQL 用于会话信息的系统用户。

  • mysql.sys:这是 MySQL 系统数据库的内部用户,主要用于 MySQL 8.0+ 的系统管理。

创建用户

create user '用户名'@'登陆主机/ip' identified by '密码'; 

进行创建用户之后,需要进行刷新一下,因为进行创建用户的信息是在内存中的,需要将内存中的信息进行刷新的磁盘中

flush privileges;

进行创建出来的用户能不能通过远端进行登录呢?

答案是不可以的,因为刚刚进行创建出来的用户是没有权限的,我们在进行创建的时候,需要将host 进行设置成 ' % '。

删除用户

drop user '用户名'@'主机名';

修改用户密码

更改密码的本质就是对密码表进行增删查改

  • mysql老版本进行修改自己的密码 (mysql 8.0之后废弃)

自己进行更改自己的密码 

​​​set password=password('新的密码');

root 用户进行修改指定用户的密码

set password for '用户名'@'主机名'=password('新的密码');
  •  mysql新版本进行修改自己的密码
alter user '用户名'@'主机地址' identified by 'new_password';

权限的管理

权限上下文说明
CREATECreate_priv数据库、表或索引的创建权限
DROPDrop_priv数据库、表或索引的删除权限
GRANT OPTIONGrant_priv授权其他用户此权限的权限
REFERENCESReferences_priv创建外键约束的权限
ALTERAlter_priv修改表的结构(如添加列、修改列)
DELETEDelete_priv删除表中的记录权限
INDEXIndex_priv创建和删除索引的权限
INSERTInsert_priv向表中插入记录的权限
SELECTSelect_priv查询数据的权限
UPDATEUpdate_priv修改表中的数据权限
CREATE VIEWCreate_view_priv创建视图的权限
SHOW VIEWShow_view_priv显示视图的权限
ALTER ROUTINEAlter_routine_priv修改存储过程、函数的权限
CREATE ROUTINECreate_routine_priv创建存储过程、函数的权限
EXECUTEExecute_priv执行存储过程、函数的权限
FILEFile_priv访问文件的权限(如 LOAD DATA INFILE)
CREATE TEMPORARY TABLESCreate_tmp_table_priv创建临时表的权限
LOCK TABLESLock_tables_priv锁定表的权限
CREATE USERCreate_user_priv创建用户的权限
PROCESSProcess_priv查看和管理后台进程的权限
RELOADReload_priv重新加载数据库的权限
REPLICATION CLIENTRepl_client_priv客户端复制权限(复制相关操作)
REPLICATION SLAVERepl_slave_priv复制从服务器权限
SHOW DATABASESShow_db_priv查看数据库列表的权限
SHUTDOWNShutdown_priv停止 MySQL 服务的权限
SUPERSuper_priv管理 MySQL 实例的超级权限

给用户授权

刚刚创建的用户没有任何权限,需要root用户给对应的用户进行授权。

grant 权限列表 on 库.对象名 to '用户名'@'登录位置(ip)' [identified by '密码']

回收权限

revoke 权限列表 on 库.对象名 from '用户名'@'登录位置(ip)';

http://www.dtcms.com/a/265215.html

相关文章:

  • 进阶向:Django框架深度解析各核心组件的作用与协作
  • Spring生态在Java开发
  • 自动驾驶行业向端到端架构转型
  • ArrayList剖析
  • 买卖股票的最佳时机--js 算法
  • linux LAMP 3
  • 开疆智能CCLinkIE转CANopen网关连接GBS20机器人配置案例
  • 第四章 网络传输介质与综合布线基础
  • 04-动态规划
  • OpenHarmony 5.0 解决点击导航栏切换后台按钮再切换到前台导航栏可能覆盖输入法问题,导致输入法下沉,最下面的显示不全
  • day046-tomcat与部署war包、jar包
  • 为什么星敏感器(Star Tracker)需要时间同步?—— 从原理到应用的全解析
  • Day04:玩转标准库中的数据处理与日志记录
  • pytest fixture基础大全详解
  • 爬虫反爬策略实战:UserAgent代理池简明指南
  • 电磁场有限元方法EX2.2-里兹法求解泊松方程控制的边值问题
  • 二刷 苍穹外卖day11
  • 讲解视频:分布滞后非线性模型DLNM​​专题:从基础到进阶学习路径
  • 记录一个QT中pro文件换行需要注意的问题
  • 第29篇:Linux审计系统深度解析:基于OpenEuler 24.03的实践指南
  • 【中文核心期刊推荐】《电子测量技术》
  • RabbitMQ使用topic Exchange实现微服务分组订阅
  • 基于SEP3203微处理器的嵌入式最小硬件系统设计
  • VBA初学习记录
  • OneCode表单架构设计:注解驱动与组件化的完美结合
  • 腾讯云认证考试报名 - TDSQL数据库交付运维专家(TCCE PostgreSQL版)
  • windows的vscode无法通过ssh连接ubuntu的解决办法
  • 网站面临爬虫攻击waf能防护住吗
  • docker拉取redis并使用
  • 《导引系统原理》-西北工业大学-周军