一、授权语法格式

grant 权限列表 on 数据库名.表名 to '用户名'@'客户端主机' [identified by '密码'];

单词: privileges [ˈprivilidʒz] 权限

单词: identified [aɪ'dentɪfaɪd] 认出( identify的过去式和过去分词 ),身份验证

@ 权限列表:

all 所有权限(不包括授权权限)

select,update 查询,更新权限

select(name,address) 只查询name,address字段的权限

create create权限

@ 数据库.表名:

*.* 所有库下的所有表

web.* web库下的所有表

web.stu_info web库下的stu_info表

@ 客户端主机:

% 所有主机

192.168.2.168 主机

192.168.2.% 192.168.2.0网段的所有主机

二、登录MySQL主(master)数据库服务器

1.直接登录到主机的某个数据库中(如:zyyshop数据库)

[root@CentOS5 ~]# /usr/local/mysql/bin/mysql -uroot -p123456 zyyshop

mysql>

2.登录主机:隐式输入密码,进入之后再选择数据库

[root@CentOS5 ~]# /usr/local/mysql/bin/mysql -uroot -p

Enter password:

mysql> use zyyshop

三、用户授权

1.向主(master)数据库创建授权用户slave1,使之可由从任何主机(%)登录到主(master)服务器

mysql> grant all on *.* to 'slave1'@'%' identified by '123';

@ 权限列表: all 所有权限(其中,关键字 “privileges” 可以省略)

@ 数据库.表名:*.* 所有库的所有表

@ 授权用户: slave1

@ 客户端主机: % 所有主机

@ 登录密码: 123

2.向主(master)数据库创建授权用户slave2,使之可由从主机(192.168.137.%)登录到主(master)服务器:

mysql> grant select(name,classid),insert on zyyshop.stu to 'slave2'@'192.168.137.%' identified by '456';

@ 权限列表: select(name,classid),insert

@ 数据库.表名:zyyshop.stu 即zyyshop数据库的stu表

@ 授权用户: slave2

@ 客户端主机: 192.168.137.0网段的所有主机

@ 登录密码: 456

3.向主(master)数据库创建授权用户slave3,使之可由从主机(192.168.137.202)登录到主(master)服务器:

mysql> grant all on zyyshop.stu to 'slave3'@'192.168.137.202' identified by '789';

@ 权限列表: all 所有权限

@ 数据库.表名:zyyshop.stu 即zyyshop数据库的stu表

@ 授权用户: slave3

@ 客户端主机: 192.168.137.202

@ 登录密码: 789

4.刷新授权表

mysql> flush privileges;

总结: 1.不要使用系统自带的test数据库做实验,这是个开放测试库对权限设置通常不起作用致实验不成功,应该自己建立一个库。

2.对用户授权之后,会在mysql数据库的 mysql.user 表里存储当前用户信息;在 mysql.columns_priv 表里存储详细的权限字段;

3.grant, revoke 用户权限调整后,如果发现没有生效可尝试重新连接并登录MySQL主机。

4.如果想让被授权的用户可以将“获得的权限”也授予其他用户,需要加选项 “with grant option”(通常很少这样用,一般是DBA自个搞定授权)

@ user1还可以将获得的 testdb.stu 的 select,update 权限授权其它用户

mysql> grant select,update on testdb.stu to 'user1'@'localhost' with grant option;

四、客户端登录

# /usr/local/mysql/bin/mysql -uslave3 -p789 -h192.168.137.201 zyyshop

@ 用户名: slave3

@ 密码: 789

@ 主服务器地址: 192.168.137.201

@ 数据库名: zyyshop

五、查看权限

1.用户远程用户登录后,查看自己当前的权限(只能查看自己的权限):

mysql> show grants;

2.主(master)数据库的管理员DBA,查看系统中任一用户的权限列表(DBA用的操作命令)

@ 查看slave2用户的权限情况:

mysql> show grants for 'slave3'@'192.168.137.202';

六、收回权限

格式:revoke {权限列表} on {数据库名} from '用户名'@'客户端主机'

mysql> revoke all on *.* from 'slave1'@'%'; //收回 slave1 所有权限

mysql> revoke select(classid) on zyyshop.stu from 'slave2'@'192.168.137.%'; //收回 slave2 对stu表classid的查询权限

注: 1.权限收回之后,但对应的用户仍然存在于mysql.user表中;

2.如果只删除用户,不会删除用户的权限,权限记录仍存于msyql.columns_priv表中;

mysql> delete from mysql.user where user='slave3' and host='192.168.137.202'; //从用户表中删除

mysql> delete from msyql.columns_priv where user='slave3'; //从字段权限明细表中删除

七、修改密码

@ 用户自己修改自己的密码

mysql> set password=password('123456');

@ DBA管理员为用户修改密码1:

mysql> set password for 'slave3'@'192.168.137.202' = password('123');

@ DBA管理员为用户修改密码2:

mysql> update mysql.user set password = password('123') where host='192.168.137.202' and user='slave1';

刷新授权表:

mysql> flush privileges;

mysql identify_MySQL用户授权相关推荐

  1. mysql撤销用户授权_mysql用户授权及撤销

    mysql数据库服务在不做授权的情况下只允许数据库管理员从数据库服务器本机登录. 默认只有数据库管理员从数据库服务器本机登录才有授权权限 mysql -u root -p (本机登录mysql服务器) ...

  2. MySQL新建用户,授权,删去用户,修改密码操作

    MySQL新建用户,授权,删去用户,修改密码操作  首先要声明一下:一般环境下,修改MySQL密码,授权,是需要有mysql里的root职权范围的.  注:本操作是在WIN号令提示符下,phpMyAd ...

  3. [MySQL]增加用户 授权 远程登录

    mysql创建用户和授权 1.创建用户: (注意:下面的指令,请在root用户下输入) CREATE USER "用户名" IDENTIFIED BY "密码" ...

  4. MySQL基本用户授权步骤

    1.MySQL用户授权步骤: select distinct concat('user: ''',user,'''@''',host,''';') as query from mysql.user; ...

  5. MySQL中用户授权/删除授权的方法

    用户授权方法 你可以通过发出GRANT语句增加新用户:  代码如下 复制代码 shell> mysql --user=root mysql mysql> GRANT ALL PRIVILE ...

  6. MySQL新建用户,授权,删除用户,修改密码

    来源:http://www.cnblogs.com/analyzer/articles/1045072.html 首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权 ...

  7. mysql给用户授权最大_mysql 给用户授权

    MySQL用户授权 GRANT 语句的语法如下:      GRANT privileges (columns)            ON what            TO user IDENT ...

  8. Mysql 添加用户 授权等操作

    MySQL中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...

  9. Linux Mysql 给用户授权

    MySQL登录时出现 Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: YES) 的原因及解决办法. mysql -u ...

  10. linux下mysql授权_linux下mysql命令(用户授权、数据导入导出)

    1,linux下启动mysql的命令: 复制代码 代码示例: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2,linux下重启my ...

最新文章

  1. Python 常用Web框架的比较
  2. 阿里云安装mysql5.6_yum安装mysql 5.6-阿里云开发者社区
  3. mybatis复杂查询环境 多对一的处理 按照结果嵌套处理和按照查询嵌套处理
  4. cocos2d-x游戏实例(16)-纵版射击游戏(3)
  5. CV与IP:基础,经典以及最近发展
  6. 手机室内地磁定位软件_聊一聊神奇的室内地磁定位
  7. 【系统架构理论】一篇文章精通:Spring Cloud Netflix Eureka
  8. 怎样让VB6程序只能运行一次
  9. Magento教程 5:系统安装与备份
  10. 【代码笔记】Web-JavaScript-JavaScript表单验证
  11. 里面的自带的字典在哪里_影视剪辑高清素材哪里找?4种方法教你,适合新手入门...
  12. UVA10193 All You Need Is Love【进制+GCD】
  13. 运用网络执法官实现网络监控
  14. DXVA视频硬件加速
  15. 忠魁互联优化:头条SEO全网搜索营销怎么做?
  16. 三菱fx3uplc恢复出厂设置_清除三菱FX系列PLC密码的三种方法
  17. 中国象棋c语言源代码csdn,中国象棋源代码-C语言小程序
  18. 用IOS苹果手机看epub电子书用什么阅读软件好?
  19. Kali学习笔记32:Maltego、Exiftool
  20. noip c语言算法教学视频,信息学奥赛课课通(C++)课程视频课程课件与代码

热门文章

  1. Win7右键没有“管理员取得所有权”选项的解决方法
  2. Bootstrap3 网页模板
  3. Android性能优化系列-监听View inflate周期并动态替换
  4. banner图的开发
  5. Vue----组件注册
  6. java中的方法基础
  7. HNOI 2015 亚瑟王 题解
  8. 计算机带不动移动硬盘,我笔记本的USB带不动移动硬盘,但另外一台电脑又可以,同样的盘盒,换一块硬盘又可以,...
  9. 计算机领域所有SCI期刊,计算机领域的所有SCI一区期刊,这是最顶级期刊了
  10. 软件测试难不难?不是计算机专业也能学吗?