上面的解析已经很详细了,但是还有中情况,一个用户对应多个数据库的情况:
grant all on `数据库名%`.* to '用户名'@'IP' identified by '密码'
mysql支持通配符
当把带引号的值是,需使用反勾号(‘`’)为数据库、表、列和子程序名称加引号。使用单引号(‘'’)为hostnames、usernames和
密码加引号 .在数据库名一项可以使用%来选择一类数据库,还可以使用“_”
MySQL用户帐号管理主要用grant(授权)和revoke(撤权)两个SQL指令来管理。这两个指令实质是通过操作user(连接权限和全局
权限)、db(数据库级权限)、tables_priv(数据表级权限)、columns_priv(数据列级权限)四个权限表来分配权限的。host权
限表不受这两个指令影响。下面将会详细介绍用户权限管理的内容。
本文由网页教学网(http://www.webjx.com
)整理发布!转载请注明出处,谢谢!
-
GRANT语法说明:
GRANT privileges (columns) #privileges表示授予的权限,columns表示作用的列(可选)
ON what #设置权限级别,全局级、数据库级、数据表级和数据列级
TO account #权限授予的用户,用"user_name"@"host_name"这种用户名、主机名格式
IDENTIFIED BY 'password' #设置用户帐号密码
REQUIRE encryption requirements #设置经由SSL连接帐号
WITH grant or resource management options; #设置帐号的管理和资源(连接服务器次数或查询次数等)选项
示例:
mysql>grant all on db.* to 'test'@'localhost' identified by 'test';
上例运行后的效果是,test用户只能通过‘test’密码从本机访问db数据库
mysql>grant all on db.* to 'test'@'%' identified by 'test';
上例运行后的效果是,test用户可通过‘test’密码从任意计算机上访问db数据库。‘%’代表任意字符,‘_’代表一个任意字符。主机名部份还可以是IP地址。
|
如果没有给定主机部份,则默认为任意主机,也就是'test'和'test'@'%'是等价的。 |
-
Table 4.1. 访问权限表
权限
权限说明
CREATE TEMPORARY TABLES |
创建临时数据表 |
EXECUTE |
执行存储过程(暂不支持) |
FILE |
操作系统文件 |
GRANT OPTION |
可把本帐号的权限授予其它用户 |
LOCK TABLES |
锁定指定数据表 |
PROCESS |
查看运行着的线程信息 |
RELOAD |
重新加载权限表或刷新日志及缓冲区 |
REPLICATION CLIENT |
可查询主/从服务器主机名 |
REPLICATION SLAVE |
运行一个镜像从服务器 |
SHOW DATABASES |
可运行SHOW DATABASES指令 |
SHUTDOWN |
关闭数据库服务器 |
SUPER |
可用kill终止线程以及进行超级用户操作 |
|
|
ALTER |
可修改表和索引的结构 |
CREATE |
创建数据库和数据表 |
DELETE |
删除数据表中的数据行 |
DROP |
删除数据表和数据行 |
INDEX |
建立或删除索引 |
INSERT |
插入数据行 |
REFERENCES |
(暂时不支持) |
SELECT |
查询数据行 |
UPDATE |
更新数据行 |
|
|
ALL |
所有权限,但不包括GRANT。 |
USAGE |
无权限权限 |
-
Table 4.2. 权限作用范围(由ON子句设置)
权限限定符
作用范围
ON *.* |
全局级权限,作用于所有数据库 |
ON * |
全局级权限,若未指定默认数据库,其作用范围是所有数据库,否则,其作用范围是当前数据库 |
ON db_name.* |
数据库级权限,作用于指定数据库里的所有数据表 |
ON db_name.tbl_name |
数据表级权限,作用于数据表里的所有数据列 |
ON tbl_name |
数据表级权限,作用于默认数据库中指定的数据表里的所有数据列 |
-
USAGE权限的用法:修改与权限无关的帐户项,如:
mysql>GRANT USAGE ON *.* TO account IDENTIFIED BY 'new_password'; #修改密码
mysql>GRANT USAGE ON *.* TO account REQUIRE SSL; #启用SSL连接
mysql>GRANT USAGE ON *.* TO account WITH MAX_CONNECTIONS_PER_HOUR 10; #设置资源
-
拥有WITH GRANT OPTION权限的用户可把自已所拥用的权限转授给其他用户,如:
mysql>GRANT ALL ON db.* TO 'test'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
这样test用户就有权把该权限授予其他用户。
-
限制资源使用,如:
mysql>GRANT ALL ON db.* TO account IDENTIFIED BY 'password' WITH MAX_CONNECTIONS_PER_HOUR 10 MAX_QUERIES_PER_HOUR 200 MAX_UPDATES_PER_HOUR 50;
允许account用户每小时最多连接20次服务器,每小时最多发出200条查询命令(其中更新命令最多为50条)
默认都是零值,即没有限制。FLUSH USER_RESOURCES和FLUSH PRIVILEGES可对资源限制计数器清零。
-
REVOKE语法说明:
mysql>REVOKE privileges (columns) ON what FROM account;
示例:
mysql>REVOKE SELECT ON db.* FROM 'test'@'localhost';
删除test帐号从本机查询db数据库的权限
REVOKE可删除权限,但不能删除帐号,即使帐号已没有任何权限。所以user数据表里还会有该帐号的记录,要彻底删除帐号,需用DELETE命令删除user数据表的记录,如:
% mysql -u root -p
mysql>use mysql
mysql>DELETE FROM user where User='test' and Host='localhost';
mysql fulsh privileges;
REVOKE不能删除REQUIRE和资源占用的配置。他们是要用GRANT来删除的,如:
GRANT USAGE ON *.* TO account REQUIRE NONE; #删除account帐号的SSL连接选项
GRANT USAGE ON *.* TO account WITH MAX_CONNECTIONS_PER_HOUR 0 MAX_QUERIES_PER_HOUR 0 M
分享到:
相关推荐
1.部署好网站环境:php5.6+mysql ... 3.将“dkewl.sql”数据库文件导入MySQL数据库 ... 账户 密码 ...管理用户账号:admin 密码:123456 普通用户账号:ceshi 密码:123456 用admin登陆,就进入后台了。
MySQL是一款广泛使用的开源...总结,本教程涵盖了MySQL 5.7的安装、基本特性和配套工具的使用,通过学习,你不仅可以掌握安装过程,还能了解到MySQL在数据存储和管理方面的优势,为进一步的数据库操作和开发奠定基础。
管理MySQL数据库包括管理用户账户和相应的权限,确保数据的安全和有效访问。本文将详细讨论如何进行MySQL管理密码的恢复与设置,以及如何进行用户授权和撤销。 1. MySQL密码恢复及设置 MySQL管理密码的恢复和设置...
MySQL开发工具安装教程涉及的知识点主要包括以下几个方面: 1. 安装准备阶段: - 下载MySQL安装包:用户需要访问MySQL官方网站...安装好MySQL之后,用户便可以开始数据库管理、开发以及执行各种数据库相关的操作了。
MySQL是世界上最流行的开源关系型数据库管理系统之一,广泛应用于各种规模的企业和项目中。在这个名为"MySql示例1:创建账户表及测试数据.zip"的压缩包中,我们很显然会发现一个关于如何在MySQL中创建账户表并填充...
13. **权限与安全**:管理用户账户,设置访问权限,了解GRANT和REVOKE语句,以及如何保护数据库免受恶意攻击。 14. **性能优化**:学习分析查询性能,使用EXPLAIN关键字,调整查询语句和索引来提升速度。同时,了解...
2. **验证运行用户**:再次通过任务管理器检查MySQL服务的运行账户,确保已改为“mysqluser”。 3. **测试数据库功能**:运行一些依赖于MySQL的Web应用程序,如Discuz、Phpwind等,以确保它们仍然可以正常工作。 ##...
### MySQL安装教程:Linux与Windows环境下的安装及配置详解 #### 一、MySQL在Linux环境下的安装步骤 在Linux环境中安装MySQL通常分为几个步骤:安装MySQL服务器、配置MySQL以及简单的测试。 1. **安装MySQL服务器...
在“php mysql 后台账号管理系统”中,PHP主要负责处理用户与服务器之间的交互,包括接收用户的登录请求、验证用户身份、处理账号创建和修改等操作。 MySQL则是一个关系型数据库管理系统(RDBMS),它为数据存储...
- 用户账户管理:创建、删除和管理用户账户,设置权限。 - 加密和安全:理解MySQL的加密机制,如何保护数据库免受攻击。 - 角色和权限:了解如何使用角色来简化权限管理。 8. **复制与集群** - 数据库复制:...
MySQL教程.doc是一个面向初学者的文档,旨在帮助用户掌握MySQL的基本操作,包括数据库的连接、断开、数据查询和插入等关键功能。MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),它以其高效、稳定和易用性...
本文将详细介绍如何通过RPM包管理系统来安装MySQL数据库服务器及其相关组件,并确保其正常运行。本文假设您已经具备基本的Linux操作系统知识。 #### 二、所需软件包 为了成功安装MySQL数据库服务器,您需要以下...
- **服务器管理**:监控服务器性能,管理用户账号,配置服务器参数等。 - **数据导入与导出**:支持多种格式的数据导入导出,如CSV、Excel等。 #### 二、安装 MySQL Workbench - **访问MySQL官方网站**:[MySQL ...
- 用户账户管理:创建、删除用户,授权和撤销权限。 - 权限级别:全局、数据库、表和列级别的权限设置。 - 加密与安全:使用加密技术保护数据,理解SSL连接的安全性。 8. 性能优化: - 查询优化:分析查询计划...
### MySQL教程知识点解析 #### 一、MySQL简介 **1.1.1 MySQL是什么?** - **定义**: MySQL是一款开源的关系型数据库管理系统(RDBMS),它使用SQL(Structured Query Language)作为其数据库语言。 - **特点**: MySQL...
本教程将详细介绍如何在Linux 7环境下安装MySQL 8.0.27,以帮助你构建可靠的数据存储和管理平台。 首先,确保你的Linux系统是最新的,通过运行以下命令更新系统包: ```bash sudo yum update -y ``` 接下来,你...
该有的都有 不会的看...后台主要功能有:用户管理、商品管理、订单管理、用户余额管理、管理员密码修改等。 前台测试账号:13812345678,密码:123456 前台测试账号2:17853593223,密码:123456 或自己注册一个账号
MySQL是世界上最受欢迎的关系型数据库管理系统(RDBMS)之一,被广泛应用于网站开发、数据分析、企业信息系统等多个领域。本教程将为您提供一个详细的MySQL安装过程,包括必要的背景知识、步骤详解以及可能遇到的...