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用户查看数据库

相关推荐
倔强的石头_21 小时前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
阿巴斯甜1 天前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker1 天前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq95271 天前
Andorid Google 登录接入文档
android
黄林晴1 天前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
冬奇Lab2 天前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读
城东米粉儿2 天前
Android MediaPlayer 笔记
android
Jony_2 天前
Android 启动优化方案
android
阿巴斯甜2 天前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇2 天前
AOSP15 Input专题InputReader源码分析
android