首页 > 数据库 > MySQL > 正文

Mysql权限管理grant命令使笔记

2024-07-24 12:47:22
字体:
来源:转载
供稿:网友

MySQL 赋予用户权限命令的简单格式可概括为:

复制代码 代码如下:
grant 权限 on 数据库对象 to 用户  [identified by '密码']

最常用的,弄主从同步的时候,给从库的slave用户设置拥有所有权限,权限all
仅允许其从192.168.0.2登录,并限定使用密码 funsion  (密码要用 单/双引号 括起来)

复制代码 代码如下:
grant all on *.* to slave@192.168.0.2 identified by 'funsion';

执行完毕后,记得用 FLUSH PRIVILEGES;  刷新一下权限

一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。

复制代码 代码如下:
grant select, insert, update, delete on testdb.* to common_user@'%'

二、grant 数据库开发人员,创建表、索引、视图、存储过程、函数.....等权限。

复制代码 代码如下:
grant create, alter, drop on testdb.* to developer@'192.168.0.%';

grant 操作 MySQL 外键权限。

复制代码 代码如下:
grant references on testdb.* to developer@'192.168.0.%';

grant 操作 MySQL 索引权限。   
复制代码 代码如下:
grant index on testdb.* to developer@'192.168.0.%';

给所有IP开放权限:

复制代码 代码如下:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

grant 操作 MySQL 临时表权限。

复制代码 代码如下:
grant create temporary tables on testdb.* to developer@'192.168.0.%';

grant 操作 MySQL 视图、查看视图源代码 权限。

复制代码 代码如下:
grant create view on testdb.* to developer@'192.168.0.%';
grant show   view on testdb.* to developer@'192.168.0.%';

grant 操作 MySQL 存储过程、函数 权限。

复制代码 代码如下:
grant create routine on testdb.* to developer@'192.168.0.%'; -- now, can show procedure status
grant alter  routine on testdb.* to developer@'192.168.0.%'; -- now, you can drop a procedure
grant execute        on testdb.* to developer@'192.168.0.%';

执行完毕后,记得用 FLUSH PRIVILEGES;  刷新一下权限

三、grant 普通 DBA 管理某个 MySQL 数据库的权限。

复制代码 代码如下:
grant all privileges on testdb to dba@'localhost'

其中,关键字 privileges 可以省略。

四、grant 高级 DBA 管理 MySQL 中所有数据库的权限。

复制代码 代码如下:
grant all on *.* to dba@'localhost'

五、MySQL grant 权限,分别可以作用在多个层次上。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表