mysql 操作用户权限

本文介绍如何使用MySQL命令来管理用户的数据库访问权限,包括授予、撤销各种级别的权限,并提供了多个示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用可以对mysql数据库用户表有操作权限的用户名登陆mysql
insert into user(Host,User,Password) values('%','name','password');
如果work用户没有登陆权限,则
killall mysqld
share/mysql/mysql.server start
grant all on *.* to work@'%' identified by "password";

MySQL赋予用户权限的命令的简单格式为
grant 权限 on 数据库对象 to 用户
grant 权限 on 数据库对象 to 用户 identified by "密码"

常用权限:
   all privileges 除grant外的所有权限
   select 仅查权限
   select,insert 查和插入权限
   usage 无访问权限

对于目标数据库以及内部其他:
   数据库名.* 数据库中的所有
   数据库名.表 指定数据库中的某张表
   数据库名.存储过程 指定数据库中的存储过程
   *.* 所有数据库

对于用户和IP:
   用户名@IP地址 用户只能在改IP下才能访问
   用户名@192.168.1.% 用户只能在改IP段下才能访问(通配符%表示任意)
   用户名@% 用户可以再任意IP下访问(默认IP地址为%)


用户名:ad,密码:ad_pass,登陆ip:192.168.0.10
//用户在所有登陆ip的权限
grant all on *.* to ad@‘%’ identified by "ad_pass";

//开放管理MySQL中所有数据库的权限
grant all on *.* to ad@'192.168.0.10' identified by "ad_pass";

//开放管理MySQL中具体数据库(test)的权限
grant all privileges on test to ad@'192.168.0.10' identified by "ad_pass";

grant all on test to ad@'192.168.0.10' identified by "ad_pass";

//开放管理MySQL中具体数据库中的表(test.table1)的权限
grant all on test.table1 to ad@'192.168.0.10' identified by "ad_pass"

//开放管理MySQL中具体数据库的表(test.table1)的部分列的权限
grant select(id,se,rank) on test.table1 to ad@'192.168.0.10' identified by "ad_pass";

//开放管理操作指令
grant select,insert,update,delete on test.* to ad@'192.168.0.10' identified by "ad_pass";

//回收权限
revoke all on *.* from ad@localhost;

//权限操作完后都要加一句

flush privileges;


//查看MySQL用户权限
show grants;
show grants for ad@localhost;


转载于:https://www.cnblogs.com/lanchar/p/5764536.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值