`

mysql用户授权操作

阅读更多

mysql 对用户授权的操作
 
  grant  权限  on  数据库名.表名 to 用户名@'可以访问的地址' identified by "密码"
  
 
权限:  all  所有权限    usage 无权限   select,update,insert,delete,等权限
数据库.表名:  *.*           所有数据库的所有表
                              数据库名.*     单个数据库的所有表
                             数据库名.表名     单个数据库的某个表
用户名: 授权的用户名
可以访问的地址:   % 所有地址,但是localhost不能访问
                                        localhost   只有localhost可以访问
                                       192.168.1.0/24 可以访问网段地址
                                       192.168.1.1 只能某个地址访问
 实验部分:
 
    1、给zhaoyun用户授予在localhost登陆,对zhaoyun数据库可以进行 create,select,update,insert,delete操作,但是不设置密码就可以登陆;    
mysql> grant create,select,update,insert,delete on zhaoyun.* to zhaoyun@'localhost';
 
登陆测试
[root@zhaoyun ~]# mysql -uzhaoyun
mysql> use mysql ;   #zhaoyun用户对mysql数据库没有任何权限。
ERROR 1044 (42000): Access denied for user 'zhaoyun'@'localhost' to database 'mysql'
mysql>
mysql> use zhaoyun ;  #可以使用zhaoyun数据库
Database changed
mysql> show grants ;    #查看当前用户拥有的权限
+--------------------------------------------------------------------------------------+
| Grants for zhaoyun@localhost                                                         |
+--------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'zhaoyun'@'localhost'                                          |
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON `zhaoyun`.* TO 'zhaoyun'@'localhost' |
+--------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
mysql> create table test(user char(3));     #建表测试
Query OK, 0 rows affected (0.00 sec)
mysql> select * from test ;    #查询测试
Empty set (0.00 sec)
mysql> insert into test values('zhaoyun');   #插入数据测试
Query OK, 1 row affected, 1 warning (0.01 sec)

 
2、给zhaoyun用户授予从192.168.0.7的机器登陆,并有相应的权限。
mysql> grant create,select,insert,update on zhaoyun.* to zhaoyun@'192.168.0.7' i
dentified by "zhaoyun";
Query OK, 0 rows affected (0.00 sec)
客户端登陆测试
[root@zhaoyun ~]# mysql -h192.168.0.55 -uzhaoyun -pzhaoyun;
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.1.32-community MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> show grants ;
+------------------------------------------------------------------------------------------------------------------+
| Grants for zhaoyun@192.168.0.7                                                                                   |
+------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'zhaoyun'@'192.168.0.7' IDENTIFIED BY PASSWORD '*875232B4D3487BBF724E4A0B22DB6A8DFC489C11' |
| GRANT SELECT, INSERT, UPDATE, CREATE ON `zhaoyun`.* TO 'zhaoyun'@'192.168.0.7'                                   |
+------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.01 sec)
把ip地址改成192.168.0.8测试,就 不行了
[root@zhaoyun ~]# ifconfig eth1 192.168.0.8
[root@bogon red hat 5]# ifconfig eth1 |grep addr
          inet addr:192.168.0.8  Bcast:192.168.0.255  Mask:255.255.255.0
   [root@bogon red hat 5]# mysql -h192.168.0.55 -uzhaoyun -pzhaoyun
ERROR 1130 (00000): Host '192.168.0.8' is not allowed to connect to this MySQL server
再改回来:就可以了。
[root@bogon red hat 5]# ifconfig eth1 192.168.0.7
[root@bogon red hat 5]# mysql -h192.168.0.55 -uzhaoyun -pzhaoyun
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.1.32-community MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
上面授予的权限没有delete权限,测试下
有问题了吧
mysql> delete from t1 ;
ERROR 1142 (42000): DELETE command denied to user 'zhaoyun'@'BOGON' for table 't1'

 
3、给用户授予可以把自己权限再授给其他人的权限。
mysql> grant create on zhaoyun.t1 to zhaoyun@'192.168.0.7' identified by "zhaoyu
n" with grant option ;
Query OK, 0 rows affected (0.00 sec)
4、查看权限
mysql> show grants ;  #查看自己的权限
mysql> show grants for zhaoyun@'192.168.0.7'; #查看其他用户的权限。
 
mysql> show grants ;
+---------------------------------------------------------------------+
| Grants for root@localhost                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> show grants for zhaoyun@'192.168.0.7';
+-------------------------------------------------------------------------------
-----------------------------------+
| Grants for zhaoyun@192.168.0.7
                                   |
+-------------------------------------------------------------------------------
-----------------------------------+
| GRANT USAGE ON *.* TO 'zhaoyun'@'192.168.0.7' IDENTIFIED BY PASSWORD '*875232B
4D3487BBF724E4A0B22DB6A8DFC489C11' |
| GRANT SELECT, INSERT, UPDATE, CREATE ON `zhaoyun`.* TO 'zhaoyun'@'192.168.0.7'
                                   |
| GRANT CREATE ON `zhaoyun`.`t1` TO 'zhaoyun'@'192.168.0.7' WITH GRANT OPTION
                                   |
+-------------------------------------------------------------------------------
-----------------------------------+
3 rows in set (0.01 sec)
 
5、撤销权限
mysql> revoke create on zhaoyun.* from zhaoyun@'192.168.0.7' ;
mysql> revoke create on zhaoyun.* from zhaoyun@'192.168.0.7' ;
Query OK, 0 rows affected (0.02 sec)
 
 
#客户端测试
mysql> use zhaoyun ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select * from zhaoyun ;
ERROR 1142 (42000): SELECT command denied to user 'zhaoyun'@'BOGON' for table 'zhaoyun'
mysql>  可以登陆但是没有权限了。
将用户删除就不能登陆了。
mysql> delete from user where user='zhaoyun';
Query OK, 2 rows affected (0.00 sec)
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
[root@bogon red hat 5]# mysql -h192.168.0.55 -uzhaoyun -pzhaoyun
ERROR 1130 (00000): Host 'BOGON' is not allowed to connect to this MySQL server

分享到:
评论

相关推荐

    设置mysql用户权限

    设置mysql用户权限

    MySQL JDBC 权限操作

    MySQL JDBC 权限操作,授权、回收权限

    mysql 的root 用户无法授权及解决navicat 远程授权提示1044问题

    3,执行以下操作(查询用户的赋权权限,更改赋权权限 ,刷新生效) mysql> select user,host,grant_priv from user; +---------------+-----------+------------+ | user | host | grant_priv | +---------------+--...

    .net framework 4.0 for windows(mysql)&wic_x86_chs&mysql用户基本操作

    MySql用户操作简单说明: 一, 创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用...

    mysql5.7操作文档大全

    2.2.4 删除MySQL用户以及用户组 7 三. 安装MySQL数据库 9 3.1 安装MySQL数据库 9 3.1.1 下载MySQL安装包 9 3.1.2 上传并解压MySQL安装包 9 3.1.3 添加系统MySQL组和MySQL用户 10 3.1.4 安装MySQL数据库 10 3.1.5 ...

    Java serlvet+Jdbc+jsp+mysql 用户权限管理系统

    自己初学java,利用之前的项目经验而写出来的一套基础的用户权限管理系统。用到了javaWeb 最底层的servlet 及 jdbc .对初学java的童鞋具有很大的参考意义。页面是用了bootstrap。可以完整的运行。

    以普通权限运行MySQL的操作说明

    如果是 system 用户在运行 MySQL ,这个是非常危险的,一旦Mysql 出现漏洞,或被其他模式提权,直接就是 system 权限。对 MySQL进行降权,用普通权限运行假设(1)mysql安装在 d:\mysql 目录(2)运行时用户名为 ...

    MySQL数据库管理常用命令

    授权部分建立用户并授权mysql> grant all on location.* to gk1020@'10.1.11.71' identified by 'gk1020'。 取消授权mysql> revoke all on location.* from gk1020@'10.1.11.71'。 刷新权限mysql> flush privileges...

    MYSQL

    6.7 存取控制,阶段1:连接证实 6.8 存取控制,阶段2:请求证实 6.9 权限更改何时生效 6.10 建立初始的 MySQL权限 6.11 向MySQL增加新用户权限 6.12 怎样设置口令 6.13 存取拒绝(Access ...

    新版 MySQL DBA 高级视频 基于MySQL 5.7 MySQL 8.0版本.rar

    │ 3_MySQL授权用户和权限回收.mp4 │ 4_MySQL8新的密码认证方式和客户端链接.mp4 │ 5_MySQL Create命令.mp4 │ 6_MySQL CreateTable命令.mp4 │ 7_课堂练习1.mp4 │ 8_MySQL Insert命令.mp4 │ 9_MySQL Insert课堂...

    在MySQL数据库增加新用户权限

    有两个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表。比较好的方法是使用GRANT语句,因为他们是更简明并且好像错误少些。本文为大家介绍了如何使用mysql客户安装新用户,如何发出GRANT语句增加...

    MySQL DCL - 用户管理.md

    此Markdown文档提供了MySQL数据库中DCL用户管理操作的示例代码和说明。通过文档,您可以学习如何在MySQL数据库中创建、修改和删除用户,并授予或撤销其相应的权限。 示例代码演示了常用的用户管理操作: - 使用`...

    MySql 5.1 参考手册.chm

    5.8. MySQL用户账户管理 5.8.1. MySQL用户名和密码 5.8.2. 向MySQL增加新用户账户 5.8.3. 从MySQL删除用户账户 5.8.4. 限制账户资源 5.8.5. 设置账户密码 5.8.6. 使你的密码安全 5.8.7. 使用安全连接 5.9. 备份与...

    MySQL数据库下用户及用户权限配置

    问题:使用某大腿写的远程工具管理Mysql数据库时发现所有数据能正常显示,但是无法进行删除、修改等操作。  思路:可以远程读取到数据库里的信息,说明当前主机可以远程连接数据库。却无法进行删除、修改这些操作,...

    MySQL中文参考手册.chm

    6.6 权限系统工作原理 6.7 存取控制,阶段1:连接证实 6.8 存取控制,阶段2:请求证实 6.9 权限更改何时生效 6.10 建立初始的 MySQL权限 6.11 向MySQL增加新用户权限 6.12 怎样设置...

    MySQL用户权限管理详解

    一、用户授权 代码如下:mysql> grant all privileges on *.* to ‘yangxin’@’%’ identified by ‘yangxin123456’ with grant option;  •all privileges:表示将所有权限授予给用户。也可指定具体的权限,如:...

    Linux系统C语言编程连接MySql数据库实现的用户用户组色权限管理系统(图形界面)

    《Mysql 最后程序的总结—— Linux系统C语言编程连接MySql数据库实现的用户角色权限管理系统》 修改的问题: 1、新增 添加用户组模块; 2、新增 显示用户组模块; 3、修改 新增用户模块 选择 其所属用户组 并把...

    MySQL DCL - 权限控制.md

    此Markdown文档提供了MySQL数据库中DCL权限控制操作的示例代码和说明。通过文档,您可以学习如何在MySQL数据库中授予和撤销用户的权限,以实现对数据库资源的安全访问控制。 示例代码演示了常用的权限控制操作: -...

    MySQL 5.1参考手册

    5.8. MySQL用户账户管理 5.8.1. MySQL用户名和密码 5.8.2. 向MySQL增加新用户账户 5.8.3. 从MySQL删除用户账户 5.8.4. 限制账户资源 5.8.5. 设置账户密码 5.8.6. 使你的密码安全 5.8.7. 使用安全连接 5.9. ...

    Linux系统中MySQL数据库操作命令.docx

    (注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符) 1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。...

Global site tag (gtag.js) - Google Analytics