`

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授权原理 在MySQL中,每个用户的权限是根据其来源主机地址来确定的。这意味着即使是同一个用户名,从不同的主机登录时所拥有...

    设置mysql用户权限

    ### 设置MySQL用户权限 在MySQL数据库管理中,正确地配置用户权限是非常重要的步骤之一,它不仅关乎数据的安全性,还能确保不同角色的用户能够高效、安全地访问所需的数据资源。本文将详细介绍如何设置MySQL用户的...

    mysql用户权限设置

    MySQL 中的用户管理主要涉及到创建用户、修改密码、赋予权限、回收权限等操作。可以使用以下命令来管理用户: * 创建用户:CREATE USER 语句 * 修改密码:SET PASSWORD 语句 * 赋予权限:GRANT 语句 * 回收权限:...

    mysql数据操作和mysql授权操作

    授权管理是MySQL的另一关键部分,用于控制用户对数据库的访问权限。`GRANT`和`REVOKE`语句用于赋予或撤销权限。例如,以下命令将`select`, `insert`, `update`权限授予用户`jane`: ```sql GRANT SELECT, INSERT, ...

    MySQL用户管理和用户授权详解.pdf

    MySQL用户管理和用户授权是数据库系统中的关键操作,用于确保数据安全和访问控制。本文将详细介绍MySQL中的用户管理,包括创建用户、查看用户信息、重命名用户、删除用户以及修改密码,以及用户授权的相关操作,如...

    MySQL JDBC 权限操作

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

    MySQL管理密码用户授权实践

    2. MySQL用户授权及撤销 用户授权和撤销是数据库管理中另一个重要的方面,这允许管理员控制不同用户对数据库的访问权限。 2.1 用户授权 为了给予用户访问数据库的权限,管理员需要执行授权操作。授权的基本语句...

    MySql用户创建、授权以及删除

    MySQL是世界上最流行的开源关系型数据库管理系统之一,其用户管理...总的来说,对MySQL用户进行创建、授权和删除操作是数据库管理的基础。理解并熟练掌握这些操作,可以帮助你更好地控制数据库访问权限,确保数据安全。

    MySQL中创建用户及授权

    除了 GRANT 命令外,还可以直接操作 MySQL 授权表来创建用户和授权。例如: ```sql INSERT INTO user VALUES('localhost','monty',PASSWORD('some_pass'),'Y','Y','Y','Y','Y','Y'); ``` 这条语句直接插入了一个名为...

    MySQL多表查询、事务和管理用户及授权

    本文将深入探讨MySQL中的多表查询、事务处理以及用户管理和权限授权。 **一、多表查询** 在数据库设计中,往往需要处理多个相关表的数据。MySQL提供了多种多表查询方法,包括: 1. **JOIN操作**:JOIN允许你将两...

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

    ### 以普通权限运行MySQL的操作指南 在网络安全日益受到重视的今天,确保系统中的每一项服务都以最小必要的权限运行显得尤为重要。对于MySQL这样的数据库服务来说,若其以最高权限(system)运行,一旦出现安全漏洞...

    Mysql用户及授权

    以下是关于MySQL用户及授权的一些详细知识点: 1. **创建用户**: - `CREATE USER` 命令用于创建新的MySQL用户。例如: ```sql CREATE USER 'username'@'host' IDENTIFIED BY 'password'; ``` - `username` 是...

    Linux操作系统中如何安装MySQL数据库

    本文详细介绍了如何在 Linux 操作系统中安装 MySQL 数据库,包括下载安装包、解压缩安装包、创建 mysql 组和用户、初始化数据库文件、设置权限、启动服务、设置密码等步骤。通过这些步骤,我们可以成功地安装 MySQL ...

    mysql命令行操作详细

    本节内容将详细介绍 MYSQL 命令行操作的各种命令和技巧,包括连接 MYSQL、修改密码、增加新用户、数据库操作等。 一、连接 MYSQL MYSQL 命令行操作的第一步是连接到 MYSQL 服务器。连接命令的格式为:mysql -h ...

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

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

    MySQL 添加用户、删除用户、授权、回收权限

    本文将详细介绍 MySQL 中的用户管理和权限控制,包括添加用户、删除用户、授权、回收权限等操作。 一、创建用户 在 MySQL 中,可以使用 INSERT 语句创建用户。例如,创建一个名为 "test" 的用户,密码为 "1234",...

    mysql常用基础操作

    在IT领域,MySQL是一种广泛使用的开源关系型数据库管理...以上是基于提供的部分文件内容总结出的MySQL常用基础操作,涵盖了数据库管理、权限控制、数据导入导出等多个方面,对于初学者和日常维护都是非常实用的知识点。

    MySQL可视化操作工具

    MySQL可视化操作工具是数据库管理员和开发人员常用的辅助软件,它以图形化界面提供对MySQL数据库的管理和操作,使得用户无需通过命令行即可进行数据查询、编辑、管理等操作。这样的工具提高了工作效率,降低了操作...

Global site tag (gtag.js) - Google Analytics