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

【MySQL】用户管理

之前我们一直都使用root身份来对mysql进行操作,但这样存在安全隐患。这时,就需要使用MySQL的用户管理


目录

一、用户

1.1 用户信息

1.2 添加用户

1.3 删除用户

1.4 修改用户密码

二、用户权限

2.1 赋予授权

2.2 回收权限


一、用户

1.1 用户信息

在MySQL中所有允许被登录的用户信息都被存放在系统数据库mysql的user表中:

来看看这张表中有着什么样的信息:

在上表中我们先介绍几个比较关键的列:

Host:表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆,如果是%表示可以从任何服务器上登录(不推荐%的设置方式,这是很危险的)

user: 用户名

authentication_string: 通过password函数加密后的用户密码

*_priv: 用户拥有的权限 

所以我们在对用户信息做修改,本质上是对这个user表做修改!

1.2 添加用户

我们在数据库下添加用户,本质上可以使用insert语句向user表中插入数据,但表中要插入的数据太多了,insert语句在这里就显的不实用了,mysql提供下列语句来方便我们插入用户数据:

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

在我们对user表做了任何修改后,都要下面的语句刷新一下,才能生效:

flush privileges;

1.3 删除用户

mysql提供下列语句供我们删除用户:

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

1.4 修改用户密码

自己改自己密码:

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

root用户修改指定用户的密码:

set password for '用户名'@'主机名'=password('新的密码');

修改完后记得刷新一下哦:

flush privileges;

二、用户权限

在mysql下用户共有以下权限:

权限上下文
CREATECreate_priv数据库、表或索引
DROPDrop_priv数据库或表
GRANT OPTIONRant_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服务器主机上的文件访问
CREATE TEMPORARY TABLESCreate_tmp_table_priv服务器管理
LOCK TABLESLock_tables _priv服务器管理
CREATE USERReate_user_priv服务器管理
PROCESSProcess_priv服务器管理
RELOADReload_priv服务器管理
REPLICATION CLIENTRepl_client_priv服务器管理
REPLICATION SLAVERepl_slave_priv服务器管理
SHOW DATABASESshow_db_priv服务器管理
SHUTDOWNShutdown_priv服务器管理
SUPERSuper_priv服务器管理

2.1 赋予授权

刚创建的用户没有任何权限。需要通过下列语句给用户授权:

grant 权限列表 on 库名.表名 to '用户名'@'登陆位置' [identified by '密码'];

注意:

当我们要给多个权限时,记得用逗号分开:

grant select, delete, create ...

 我们可以在权限列表中使用all关键字,表示赋予该用户在该对象上的所有权限

库名和表名我们可以使用*来代表所有

如*.* 代表本系统中的所有数据库的所有对象(表,视图,存储过程等) 

identified by可选,如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户 

2.2 回收权限

我们可以使用下列语句来回收用户的权限:

revoke 权限列表 on 库名.表名 from '用户名'@'登陆位置';

 


感谢各位的阅览~

更多MySQL技能请看:http://t.csdn.cn/W9dQl

博主努力更新中~

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

相关文章:

  • 音视频 ffmpeg命令转封装
  • 恢复已删除的git分支
  • ATF(TF-A)安全通告 TFV-3 (CVE-2017-7563)
  • 虚拟机Ubuntu18.04系统使用时所需要的便利配置选项
  • python内置函数
  • 线性思维和系统思维
  • 为什么要学习C++
  • eureka服务注册和服务发现
  • QT的介绍和优点,以及使用QT初步完成一个登录界面
  • MySQL教程
  • 深入理解协同过滤算法及其实现
  • 力扣:随即指针138. 复制带随机指针的链表
  • 【从0学习Solidity】合约入门 Hello Web3
  • awtk-ftpd 发布
  • 抽象轻松的C语言
  • 【力扣每日一题01】两数之和
  • 机器学习——手写数字识别
  • 【日积月累】后端刷题日志
  • Matlab在编码中增加CRC和交织功能
  • Css 设置从上到下的渐变色: 0到70%为yellow,然后线性地变成透明。
  • git在windows上安装
  • 快速上手GIT命令,现学也能登堂入室
  • 二进制安全虚拟机Protostar靶场 安装,基础知识讲解,破解STACK ZERO
  • python实现的一些方法,可以直接拿来用的那种
  • 通过HTTP进行并发的数据抓取
  • 《论文阅读21》Equivariant Multi-View Networks
  • 【数据结构】| 并查集及其优化实现
  • 最新ChatGPT程序源码+AI系统+详细图文部署教程/支持GPT4.0/支持Midjourney绘画/Prompt知识库
  • 自动驾驶和辅助驾驶系统的概念性架构(一)
  • 【两周学会FPGA】从0到1学习紫光同创FPGA开发|盘古PGL22G开发板学习之数码管静态显示(四)