mysql账户授权
来源:互联网 发布:visio软件怎么用 编辑:程序博客网 时间:2024/05/02 04:32
Mysql 5张权限表 构成权限控制系统。查看那些表可以确定用户的权限范围和查询权限。
Mysql提供了全套命令对授权系统的操作。最好不要直接操作这些表,下面给出了命令语句。
常用的也就对数据库和表的权限的一些简单操作。
添加一个用户或增加前面已有用户的权限(用户不存在就直接创建,存在的话修改原来的权限,密码可改可不该)
grant all privileges on *.* to创建的用户名@"%" identified by "密码";
flush privileges; *刷新刚才的内容*
例子:
grant select,insert,update,delete on test to 'lidonghai'@'localhost' identified by '123456';
grant select,insert,update ondatacenter00.dict_site to 'liuyueyang'@'%' identified by 'lyyM0ex89';
//这样添加也是可以的但是新建完后用户没有任何权限。并且还必须重载授权表才可以用这个账号登陆否则不行。如果还用这种方法给用户添加权限的话,每次都必须重载授权表才可以生效。比较麻烦。还是用命令好。
insert into mysql.user(Host,User,Password) values("localhost","test1",password("1234"));
flush privileges; *刷新刚才的内容*
删除用户
删除账户及权限:>drop user 用户名@'%';
>drop user 用户名@ localhost;
撤销用户权限:
revoke select,update on lol.* from ‘huangzi’@’localhost’ identified by '123';
revoke all on lol.* from ‘huangzi’@’localhost’ identified by '123';
修改指定用户密码(必须重载授权表)
update mysql.user set password=password('新密码') where User="test" and Host="localhost";
mysql>flush privileges;
查看当前用户的权限
show grants;
查看其它Mysql用户的权限
show grants for ‘test1’@’localhost’
mysql更改用户权限
MySQL 赋予用户权限命令的简单格式可概括为:
grant 权限 on数据库对象to用户
一、grant普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。
grant select, insert, update, delete on testdb.* to
二、grant数据库开发人员,创建表、索引、视图、存储过程、函数等权限。
grant 创建、修改、删除 MySQL数据表权限。
grant create on testdb.* to ;
grant alter on testdb.* to ;
grant drop on testdb.* to ;
grant 操作 MySQL外键权限。
grant references on testdb.* to ;
grant 操作 MySQL临时表权限。
grant create temporary tables on testdb.* to ;
grant 操作 MySQL索引权限。
grant index on testdb.* to ;
grant 操作 MySQL视图、查看视图源代码 权限。
grant create view on testdb.* to ;
grant show view on testdb.* to ;
grant 操作 MySQL存储过程、函数 权限。
grant create routine on testdb.* to ; — now, can show procedure status
grant alter routine on testdb.* to ; — now, you can drop a procedure
grant execute on testdb.* to ;
三、grant普通DBA 管理某个MySQL数据库的权限。
grant all privileges on testdb to
其中,关键字 “privileges” 可以省略。
四、grant 高级DBA管理 MySQL 中所有数据库的权限。
grant all on *.* to
五、MySQL grant权限,分别可以作用在多个层次上。
1. grant 作用在整个 MySQL服务器上:
grant select on *.* to ; — dba 可以查询MySQL中所有数据库中的表。
grant all on *.* to ; — dba 可以管理 MySQL中的所有数据库
2. grant 作用在单个数据库上:
grant select on testdb.* to ; — dba 可以查询 testdb 中的表。
3. grant 作用在单个数据表上:
grant select, insert, update, delete on testdb.orders to ;
4. grant 作用在表中的列上:
grant select(id, se, rank) on testdb.apache_log to ;
5. grant 作用在存储过程、函数上:
grant execute on procedure testdb.pr_add to ‘dba’@'localhost’
grant execute on function testdb.fn_add to ‘dba’@'localhost’
六、查看 MySQL 用户权限
查看当前用户(自己)权限:
show grants;
查看其他 MySQL 用户权限:
show grants for ;
七、撤销已经赋予给 MySQL 用户权限的权限。
revoke 跟 grant的语法差不多,只需要把关键字“to”换成“from”即可:
grant all on *.* to ;
revoke all on *.* from ;
八、MySQL grant、revoke用户权限注意事项
1. grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。
2. 如果想让授权的用户,也可以将这些权限grant给其他用户,需要选项“grant option“
grant select on testdb.* to with grant option;
这个特性一般用不到。实际中,数据库权限最好由 DBA 来统一管理。
1.创建用户并授权
grant语句的语法: grant privileges (columns) on what to user identified by "password" with grant option
参数:
privileges 权限指定符权限允许的操作
alter 修改表和索引
create 创建数据库和表
delete 删除表中已有的记录
drop 抛弃(删除)数据库和表
index 创建或抛弃索引
insert 向表中插入新行
reference 未用
select 检索表中的记录
update 修改现存表记录
file 读或写服务器上的文件
process 查看服务器中执行的线程信息或杀死线程
reload 重载授权表或清空日志、主机缓存或表缓存。
shutdown 关闭服务器
all 所有;all privileges同义词
usage 特殊的“无权限”权限
columns
权限运用的列(可选)并且你只能设置列特定的权限。如果命令有多于一个列,应该用逗号分开它们。
what
权限运用的级别。权限可以是全局,定数据库或特定表.
user
权限授予的用户,由一个用户名和主机名组成。
password
赋予用户的口令(可选),如果你对用户没有指定identified by子句,该用户口令不变.
with grant option
用户可以授予权限通过grant语句授权给其它用户(可选)
- mysql账户授权
- MySQL创建账户及授权
- MySQL Workbench 账户单独授权使用体验
- mySQL之创建账户与授权
- Linux系统下授权MySQL账户访问指定数据库
- Mysql 5.7.9以上版本 设置账户密码及授权
- 请领款与签约账户、授权账户
- MySQL 创建用户并授权、 set命令修改用户密码 、使用mysqladmin命令修改root账户密码
- MySQL授权
- mysql授权
- MYSQL授权
- Mysql 授权
- mysql授权
- mysql授权
- Mysql授权
- mysql 授权
- MySQL授权
- mysql授权
- git remote同步相关指令
- 使用jQuery Validate实现表单验证
- 说说Android应用的persistent属性
- redis 设置密码
- 【DP学习】之 01背包
- mysql账户授权
- This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de 错误解决办法
- CSS学习笔记(2)
- 深入理解计算机系统--信息的表示和处理
- Java之多线程易范错误
- Unity3D 大型游戏 最后一站 源码部分重点 对象池GameObejctPool(4)
- POJ 1961 Period
- [Ffmpeg] ffmpeg编解码的若干注意事项
- Mac 下 Robot Framework 安装指南(未完待续)