首页 > 数据库 >mysql grant

mysql grant

时间:2022-09-29 12:11:50浏览次数:47  
标签:grant -- 192.168 testdb user mysql 权限

目录

mysql grant

基本语法

grant 权限 on 数据库对象 to 用户 identified by 密码

用户一般格式是:用户名@IP

说明:IP有时候会写%。%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接权限

当不加@选项时,效果与加@'%'是一样的,'%'从名义上包括任何主机,(%必须加上引号,不然与@放在一起可能不会被辨认出。)不过有些时候(有些版本)'%'不包括localhost,要单独对@'localhost'进行赋值

基本权限设置

--  赋予用户common_user在所有IP上拥有testdb数据库中所有表的增/删/查/改的权限
grant select(insert 或update或delete ) on testdb.*   to common_user@’%’;
 
-- 一次性赋予增删查改的所有权限
grant select, insert, update, delete on testdb.* to common_user@’%’;
 
-- grant 创建、修改、删除、操作索引 MySQL 数据表结构权限。
grant create/alter/drop/index  on testdb.* to user@’192.168.0.%’;
 
-- grant 操作 MySQL 外键权限。
grant references on testdb.* to user@’192.168.0.%’;
 
-- grant 操作 MySQL 临时表权限。
grant create temporary tables on testdb.* to user@’192.168.0.%’;
 
-- grant 操作 MySQL 视图、查看视图源代码 权限。
grant create view on testdb.* to user@’192.168.0.%’;
grant show view on testdb.* to user@’192.168.0.%’;

高级权限、细分权限

//所有数据库所有表:*.* 
-- 授权用户 dba 所有数据库所有表的所有权限
grant all (privileges)  on *.* to dba@’localhost’;
 
//一个数据库所有表:数据库名(.*)
-- 授权用户 dba 针对 testdb 数据库所有表的所有权限
grant all (privileges) on testdb to dba@’localhost’;
 
//一个数据库一个数据表:库.表  
grant select, insert, update, delete on testdb.orders to dba@localhost;
 
-- 给一个用户授权多张表时,可以多次执行以上语句。例如:
grant select on smp.users  to mo_user@’%’ identified by ‘123345′;
grant select on smp.mo_sms to mo_user@’%’ identified by ‘123345′;
 
// grant 作用在表中的列上:
grant select(id, se, rank) on testdb.apache_log to dba@localhost;

查询权限

-- 查看当前用户(自己)权限:
show grants;
 
-- 查看其他 MySQL 用户权限:
show grants for zhangkh@'192.168.1.10';

回收权限

-- 把grant 换成revoke  to 换成 from
-- grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。
 
grant all on *.* to dba@localhost;
revoke all on *.* from dba@localhost;

授予权限

-- 想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 “grant option“
grant select on testdb.* to dba@localhost with grant option;
 
-- 使myuser使用mypassword从任何主机连接到mysql服务器
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;  
FLUSH   PRIVILEGES; 
 
-- 允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY  'mypassword' WITH GRANT OPTION;  
FLUSH   PRIVILEGES; 
 
 
-- 允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;  
 
FLUSH   PRIVILEGES; 

标签:grant,--,192.168,testdb,user,mysql,权限
From: https://www.cnblogs.com/liwenchao1995/p/16740996.html

相关文章

  • MySQL 8新特性--角色
    3.角色从MySQL8.0开始支持角色,和Oracle中的角色一样,角色就是权限的集合。MySQL中当前支持的关于角色的相关操作和变量:CREATEROLE和DROPROLEGRANT和REVOKESHOWGRANTSSET......
  • MySQL 8新特性--原子DDL
    ###1.AtomicDDL—原子DDL从MySQL8.0开始支持原子DDL,原子DDL语句就是将和DDL操作关联的数据字典更新,存储引擎内部操作和二进制日志写入操作组合到单个,原子事务中。即使数据......
  • mysql
    参考链接:https://blog.csdn.net/guoqi_666/article/details/122484535sql优化技巧:   1避免使用select*很多时候,我们写sql语句时,为了方便,喜欢直接使用select*,......
  • MYSQL小记,SQL查询,如果有更新时间则优先按更新时间倒序,没有则按创建时间倒序
    selectnow()fromdualORDERBYIFNULL(update_date,create_date)DESCIFNULL函数说明IFNULL(expr1,expr2)如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr......
  • MySQL--SQL基础语句--2022年9月28日
    第一节  数据库相关概念 第二节  MySQL安装及启动1、MySQL安装及启动自行查看文档,这里不多笔记2、关系型数据库是什么 3、数......
  • MySQL数据库-数据表(下)
    SELECT定义:SQL的SELECT语句可以实现对表的选择、投影及连接操作。即SELECT语句可以从一个或多个表中根据用户的需要从数据库中选出匹配的行和列,结果通常是生成一个......
  • CentOS7下安装MySQL5.7
    1、下载MySQL,地址:https://dev.mysql.com/downloads/mysql/5.7.html2、Linux服务器根目录下新建两个文件夹:1)、tool文件夹,存放软件安装包2)、xz文件夹,存放安装后的......
  • MySQL目录结构和SQL的基本概念
    MySQL目录结构Data目录和my.ini文件有时并不放在MySQL的安装目录下,而是在配置文件中自己指定的目录下。一般情况下,C盘下的ProgramData目录是隐藏的,需要取消隐藏(1......
  • 高性能MySQL-第3版 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/12ao5Tu4Hrpr1F2wfUXwAvg点击这里获取提取码   ......
  • mysql主从搭建
    mysql主从搭建环境:ubuntu20.04.1,mysql:8.0.22。主:192.168.87.3备:192.168.87.6安装数据库sudoapt-getinstallmysql-serversudoapt-getinstallmysql-clientsud......