`

MYSQL查询权限与用法

阅读更多
[color=darkblue][/color][MySQL]查看用户权限与GRANT用法

查看用户权限

show grants for 你的用户

比如:
show grants for root@'localhost';

Grant 用法




GRANT USAGE ON *.* TO 'discuz'@'localhost' IDENTIFIED BY PASSWORD '*C242DDD213BE9C6F8DA28D49245BF69FC79A86EB';
GRANT ALL PRIVILEGES ON `discuz`.* TO 'discuz'@'localhost';

我先按我的理解解释一下上面两句的意思
建立一个只可以在本地登陆的 不能操作的用用户名 discuz 密码为 ***** 已经加密了的
然后第二句的意思是 ,给这个discuz用户操作discuz数据库的所有权限

使用GRANT

GRANT命令用来建立新用户,指定用户口令并增加用户权限。其格式如下:

mysql> GRANT <privileges> ON <what>
-> TO <user> [IDENTIFIED BY "<password>"]
-> [WITH GRANT OPTION];


  正如你看到的,在这个命令中有许多待填的内容。让我们逐一地对它们进行介绍,并最终给出一些例子以让你对它们的协同工作有一个了解。

  <privileges>是一个用逗号分隔的你想要赋予的权限的列表。你可以指定的权限可以分为三种类型:

  数据库/数据表/数据列权限: Alter: 修改已存在的数据表(例如增加/删除列)和索引。
Create: 建立新的数据库或数据表。
Delete: 删除表的记录。
Drop: 删除数据表或数据库。
INDEX: 建立或删除索引。
Insert: 增加表的记录。
Select: 显示/搜索表的记录。
Update: 修改表中已存在的记录。

  全局管理权限:

file: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。

  特别的权限:

ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录--其它什么也不允许做。


  这些权限所涉及到的MySQL的特征,其中的一些我们至今还没看到,而其中的绝大部分是你所熟悉的。

<what> 定义了这些权限所作用的区域。*.*意味着权限对所有数据库和数据表有效。dbName.*意味着对名为dbName的数据库中的所有数据表有效。 dbName.tblName意味着仅对名为dbName中的名为tblName的数据表有效。你甚至还可以通过在赋予的权限后面使用圆括号中的数据列的列表以指定权限仅对这些列有效(在后面我们将看到这样的例子)。

  <user>指定可以应用这些权限的用户。在MySQL中,一个用户通过它登录的用户名和用户使用的计算机的主机名/IP地址来指定。这两个值都可以使用%通配符(例如kevin@%将允许使用用户名kevin从任何机器上登录以享有你指定的权限)。

  <password>指定了用户连接MySQL服务所用的口令。它被用方括号括起,说明IDENTIFIED BY "<password>"在GRANT命令中是可选项。这里指定的口令会取代用户原来的密码。如果没有为一个新用户指定口令,当他进行连接时就不需要口令。

这个命令中可选的WITH GRANT OPTION部分指定了用户可以使用GRANT/REVOKE命令将他拥有的权限赋予其他用户。请小心使用这项功能--虽然这个问题可能不是那么明显!例如,两个都拥有这个功能的用户可能会相互共享他们的权限,这也许不是你当初想看到的。

  让我们来看两个例子。建立一个名为dbmanager的用户,他可以使用口令managedb从server.host.net连接 MySQL,并仅仅可以访问名为db的数据库的全部内容(并可以将此权限赋予其他用户),这可以使用下面的GRANT命令:

mysql> GRANT ALL ON db.*
-> TO dbmanager@server.host.net
-> IDENTIFIED BY "managedb"
-> WITH GRANT OPTION;


现在改变这个用户的口令为funkychicken,命令格式如下:
   mysql> GRANT USAGE ON *.*
   -> TO dbmanager@server.host.net
   -> IDENTIFIED BY "funkychicken";

请注意我们没有赋予任何另外的权限(the USAGE权限只能允许用户登录),但是用户已经存在的权限不会被改变。

  现在让我们建立一个新的名为jessica的用户,他可以从host.net域的任意机器连接到MySQL。他可以更新数据库中用户的姓名和 email地址,但是不需要查阅其它数据库的信息。也就是说他对db数据库具有只读的权限(例如,Select),但是他可以对Users表的name列和email列执行Update操作。命令如下:

mysql> GRANT Select ON db.*
-> TO jessica@%.host.net
-> IDENTIFIED BY "jessrules";
mysql> GRANT Update (name,email) ON db.Users
-> TO jessica@%.host.net;

启动Linux下数据库
  service mysqld start

  请注意在第一个命令中我们在指定Jessica可以用来连接的主机名时使用了%(通配符)符号。此外,我们也没有给他向其他用户传递他的权限的能力,因为我们在命令的最后没有带上WITH GRANT OPTION。第二个命令示范了如何通过在赋予的权限后面的圆括号中用逗号分隔的列的列表对特定的数据列赋予权限。

为了您的安全,请只打开来源可靠的网址
打开网站    取消
来自: http://hi.baidu.com/liheng%5F2009/blog/item/0f2aaebd30fc980719d81f9b.html
分享到:
评论

相关推荐

    mysql用户权限设置

    MySQL 用户权限设置 在 MySQL 数据库中,用户权限设置是非常重要的,因为它涉及到数据的安全和访问控制。本文将详细介绍 MySQL 用户权限设置的相关知识点,包括创建用户、修改密码、赋予权限、回收权限、查看用户...

    Mysql查询流程分析

    ### MySQL查询流程分析 在深入理解MySQL查询流程...通过合理地利用查询优化技术、权限管理和缓存机制等功能,可以显著提升MySQL系统的整体性能和用户体验。希望本文能为大家在学习和使用MySQL的过程中提供一定的帮助。

    MYSQL权限不够解决办法

    ### MySQL权限不够解决办法 在使用MySQL数据库的过程中,可能会遇到“权限不足”的错误提示,这通常是因为当前用户没有足够的权限来执行某些操作(如创建表、删除数据等)。本文将详细介绍如何解决MySQL权限不足的...

    更新MySql权限.zip

    1. **使用说明.txt**:这个文件应该提供了关于如何使用这个工具的详细步骤和注意事项,包括如何运行批处理文件以及可能遇到的问题和解决方法。 2. **开通MySQL权限.bat**:这是一个批处理文件,用于自动执行一系列...

    MySQL查询用户权限的方法总结

    首先,最直接查询用户权限的方法是使用MySQL的`SHOW GRANTS`命令。此命令可以直接显示指定用户的权限列表。例如,如果要查询名为`root`,连接地址为`localhost`的用户的所有权限,可以使用以下命令: ```sql SHOW ...

    MySql MySql使用方法 Mysql例子

    在本文中,我们将深入探讨MySQL的使用方法,通过具体的例子来帮助你理解和掌握其核心概念。 1. 安装与配置MySQL 在开始使用MySQL之前,你需要在你的操作系统上安装MySQL服务器。这通常可以通过下载并运行安装程序...

    mysql开启远程连接权限

    ### MySQL开启远程连接权限 在本篇文章中,我们将详细介绍如何通过命令行的方式,在Windows系统上为MySQL数据库开启远程连接权限。对于需要从不同位置管理数据库的用户来说,这是一个非常实用的功能。下面,我们将...

    开启外部访问mysql权限的功能

    "开启外部访问mysql权限的功能" 本文主要介绍了如何开启外部访问mysql权限的功能,涉及到mysql的安装、配置、防火墙设置和权限管理等多个方面。 首先,在服务器上搭建开发环境时,难免会遇到服务器自带的数据库...

    mysql 远程root权限

    本文将深入探讨“MySQL远程root权限”的概念、实现方法以及相关的安全注意事项。 #### 一、理解MySQL中的root用户 1. **root用户的权限**: - 在MySQL中,`root`是最具权限的用户账号,默认情况下拥有对所有...

    MySQL远程登录权限设置

    #### 五、MySQL权限详细分类 MySQL中的权限可以根据其作用范围分为不同的类型: - **全局管理权限**:这类权限通常与MySQL服务器的整体管理相关。 - FILE:在MySQL服务器上读写文件。 - PROCESS:显示或杀死属于...

    mysql使用实例book-MySQL

    《MySQL使用实例book》是一本全面讲解MySQL数据库应用与开发的书籍,旨在帮助读者逐步掌握MySQL的实际操作技巧。通过对本书的学习,你可以深入了解MySQL在实际工作中的应用,提升数据库管理、查询优化以及数据存储的...

    远程用户连接mysql授权

    在MySQL命令行中,可以使用`GRANT`语句来授予用户特定的权限。例如,若要允许用户从任意远程主机连接到MySQL服务器,并且拥有所有权限,可以执行以下命令: ```sql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' ...

    mySql使用方法经验总结

    根据提供的文件信息,本文将对MySQL的使用方法进行详细的总结与解释,旨在为读者提供一套实用的操作指南。MySQL是一款广泛使用的开源关系型数据库管理系统,在Web应用程序、数据仓库、数据分析等领域有着广泛的应用...

    MySQL错误代码查询

    在使用MySQL的过程中,难免会遇到各种错误,这些错误通常会以错误代码的形式呈现,帮助开发者定位问题所在。本篇文章将详细探讨MySQL错误代码及其含义,帮助你更好地理解和解决遇到的问题。 首先,MySQL错误代码是...

    ssh+mysql权限管理自动建库

    SSH+MySQL权限管理自动建库是企业级应用中常见的需求,尤其在开发高效、安全的管理系统时。SSH指的是Spring、Struts和Hibernate这三个Java技术的组合,它们分别负责了应用的依赖注入、MVC(模型-视图-控制器)框架和...

    LINUX下的Mysql数据库安装及使用方法、教程

    ### Linux 下 MySQL 数据库安装及使用方法详解 #### 一、引言 随着信息技术的不断发展,数据库技术在各个行业中扮演着越来越重要的角色。对于 Linux 用户而言,掌握如何在 Linux 系统下安装和使用 MySQL 数据库显得...

    MySQL.rar_MYSQL_MYSQL 手册_delphi mysql_mysql delphi_mysql使用方法

    2. **SQL查询**:SQL是与MySQL交互的语言,手册可能会深入讲解SELECT语句,包括如何进行简单的查询、聚合函数、联接操作、子查询以及窗口函数等。 3. **事务处理**:MySQL支持ACID(原子性、一致性、隔离性和持久性...

    权限管理系统SpringMVC+Mybatis+JSP+MySQL.zip

    深入学习这个项目,开发者不仅可以掌握SpringMVC、Mybatis、JSP和MySQL的基本用法,还能了解到如何将这些技术集成到一个实际的权限管理系统中,提升Web开发能力。此外,配套的讲解视频将为学习者提供直观的指导,...

Global site tag (gtag.js) - Google Analytics