MySQL用户管理

MySQL用户管理

用户管理

如果我们只能使用root用户,这样存在安全隐患。这时,就需要使用

张三只能操纵mytest这个库,李四只能操纵msg这个库。如果给他们root账户,那他们就可以操纵所有的库,风险太大。

用户

用户信息

MySQL中的用户,都存储在系统数据库mysql的user表中

字段解释:

  • host: 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆
  • user: 用户名
  • authentication_string: 用户密码通过password函数加密后的
  • *_priv: 用户拥有的权限

创建用户

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

删除用户

c 复制代码
drop user '用户名'@'主机名'

修改用户密码

  • 自己改自己密码
c 复制代码
set password=password('新的密码');
  • root用户修改指定用户的密码
c 复制代码
set password for '用户名'@'主机名'=password('新的密码');

数据库的权限

MySQL数据库提供的权限列表:

给用户授权

刚创建的用户没有任何权限。需要给用户授权。

c 复制代码
grant 权限列表 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码']

说明:

  • 权限列表,多个权限用逗号分开
c 复制代码
grant select on ...
grant select, delete, create on ....
grant all [privileges] on ... -- 表示赋予该用户在该对象上的所有权限
  • . : 代表本系统中的所有数据库的所有对象(表,视图,存储过程等)
  • 库.* : 表示某个数据库中的所有数据对象(表,视图,存储过程等)
  • identified by可选。 如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户

使用root账号

给用户yjm赋予test数据库下所有文件的select权限

使用yjm账号

没有删除权限

root用户现有查看yjm权限

回收权限

c 复制代码
revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';

回收yjm对test_db数据库的所有权限,root身份

yjm用户查看数据库

相关推荐
牛哇网络工作室6 小时前
UnityHDRP写实数字人全流程基础5—语音输入和语音识别
android·unity·c#·游戏引擎·aigc·语音识别·xcode
张洛闻Eren7 小时前
MySQL 维护稳定系统【MySQL第二课】
linux·数据库·mysql·云原生
一笑的小酒馆7 小时前
Androidiot蓝牙配网简单封装
android
布莱克6058 小时前
理解索引:从概念到实践
数据库·mysql
愚公搬代码10 小时前
【愚公系列】《Android应用案例开发大全》016-LBS类应用掌上杭州(辅助工具类的开发)
android·前端
g105655913911 小时前
LAMP博客平台Wordpress实战
android·mysql·nginx·php
我不是疯子是傻子11 小时前
Qt CAN通信周期发送抖动?实测定时器精度校准与时间戳补偿方案
开发语言·数据库·qt
这个DBA有点耶12 小时前
数据库迁移怎么做到“零翻车“:金仓 KDMS/KDTS/KFS 工具链实测
数据库·架构·dba
hunterandroid12 小时前
[Android 从零到一] Compose LazyColumn 性能优化:key、稳定性与重组治理
android·前端
pengyu12 小时前
【Kotlin 协程修仙录 · 元婴境 · 中阶】 | 操作符真解:Flow 中间操作符与数据流变幻术
android·kotlin