在进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技 术的提高。我们给一个应用中使用的用户赋予最恰当的数据库权限。如一个只进行数据插入的用户不应赋予其删除数据的权限。MySql的用户管理是通过 User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用 户。其中GRANT的常用用法如下:
grant all on mydb.* to NewUserName@HostName identified by “password” ;
grant usage on *.* to NewUserName@HostName identified by “password”;
grant select,insert,update on mydb.* to NewUserName@HostName identified by “password”;
grant update,delete on mydb.TestTable to NewUserName@HostName identified by “password”;
若要给此用户赋予他在相应对象上的权限的管理能力,可在GRANT后面添加WITH GRANT OPTION选项。而对于用插入User表添加的用户,Password字段应用PASSWORD 函数进行更新加密,以防不轨之人窃看密码。对于那些已经不用的用户应给予清除,权限过界的用户应及时回收权限,回收权限可以通过更新User表相应字段, 也可以使用REVOKE操作。
对常用权限的解释:
1).全局管理权限:
FILE: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
2).数据库/数据表/数据列权限:
ALTER: 修改已存在的数据表(例如增加/删除列)和索引。
CREATE: 建立新的数据库或数据表。
DELETE: 删除表的记录。
DROP: 删除数据表或数据库。
INDEX: 建立或删除索引。
INSERT: 增加表的记录。
SELECT: 显示/搜索表的记录。
UPDATE: 修改表中已存在的记录。
3).特别的权限:
ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录–其它什么也不允许做。
相关推荐
### 设置MySQL用户权限 在MySQL数据库管理中,正确地配置用户权限是非常重要的步骤之一,它不仅关乎数据的安全性,还能确保不同角色的用户能够高效、安全地访问所需的数据资源。本文将详细介绍如何设置MySQL用户的...
这条命令用于显示指定用户(本例中的`phper`)所拥有的所有权限。通过查看这些权限,管理员可以了解用户可以在哪些数据库表上执行何种类型的SQL操作。 #### 6. 分配权限 **授予特定权限:** ``` GRANT SELECT, ...
因此,在设置远程访问权限时,必须明确指定用户可以从哪些主机连接到数据库服务器。 #### 三、授权步骤详解 1. **登录MySQL服务器** 首先,需要通过命令行或图形界面客户端登录到MySQL服务器。例如,在安装MySQL...
- 类似的,可以通过添加其他关键字如UPDATE、DELETE等来扩展用户的操作权限。 4. **撤销用户的部分权限:** - `REVOKE SELECT, INSERT ON *.* FROM 'testuser'@'localhost';` - 如果发现之前的权限授予过于宽松...
数据库开发人员权限包括创建、修改、删除数据库结构权限、操作 MySQL 外键权限等。这些权限通常授予数据库开发人员,以便他们可以管理数据库结构。例如,下面的语句授予用户 `developer` 在数据库 `testdb` 中的创建...
- `password`:指定用户的登录密码。 例如,创建一个名为`john`的用户,允许其从本地主机登录,密码设为`secret`: ```sql CREATE USER 'john'@'localhost' IDENTIFIED BY 'secret'; ``` **1.1.2 分配权限** ...
MySQL 用户权限管理与授权 MySQL 用户权限管理是 MySQL 安全性管理...GRANT 语句是 MySQL 用户权限管理的重要组件之一,通过 GRANT 语句,管理员可以灵活地授予用户不同的权限,以控制用户对数据库的访问和操作权限。
MySQL用户管理和权限管理是数据库系统中的关键组成部分,它确保了数据的安全性和访问控制。MySQL作为一个多用户数据库系统,允许不同的用户根据其角色和需求访问不同的数据资源。在MySQL中,用户分为两类:超级管理...
授权是 MySQL 中的一个重要概念,用于控制用户对数据库的访问权限。授权格式为: ```sql grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"; ``` 例如,为用户 "test" 授予 testDB 数据库的所有权限...
Linux 下非 root 权限的 MySQL 安装是指在 Linux 操作系统中,使用非 root 用户权限来安装和配置 MySQL 数据库服务器的过程。这种安装方式可以避免使用 root 权限,从而提高系统的安全性。 安装准备 在开始安装 ...
3. **表级权限**:比如对特定表的操作权限(如增删改查)。 4. **列级权限**:更细致地控制到某一列的访问权限。 #### 二、权限配置语法解析 在给定的部分内容中提到了一条`GRANT`语句: ```sql GRANT ALL ON *.*...
本文介绍了MySQL中的一些常用命令,包括创建用户、删除用户、创建数据库、删除数据库、为用户赋权限、刷新权限以及备份与恢复数据库等操作。通过这些命令,你可以有效地管理和维护MySQL数据库系统。在实际应用中,...
例如,要增加一个用户 test1,密码为 abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限,可以使用以下命令:grant select,insert,update,delete on *.* to test1@”%” identified by ...
3. **学会在MySQL中创建用户、设置用户权限、修改用户密码以及删除用户**:实际操作MySQL命令行工具,完成用户管理的相关任务。 #### 二、实验环境 1. **环境要求**:需确保已安装MySQL数据库(本实验使用的版本为...
3. **创建新用户**:使用`GRANT`语句创建新用户,并指定用户的主机地址(通常是IP地址或'localhost')和密码。 ```sql GRANT USAGE ON *.* TO 'new_user'@'localhost' IDENTIFIED BY 'password'; ``` 上述命令...
授权管理是MySQL的另一关键部分,用于控制用户对数据库的访问权限。`GRANT`和`REVOKE`语句用于赋予或撤销权限。例如,以下命令将`select`, `insert`, `update`权限授予用户`jane`: ```sql GRANT SELECT, INSERT, ...
总之,MySQL的权限系统允许管理员精确地控制用户对数据库的访问。通过GRANT语句,我们可以为不同角色的用户提供定制的权限,从而实现更安全和高效的数据管理。在分配权限时,务必考虑最小权限原则,确保用户只能执行...
上述命令不仅授予了用户对testDB数据库中所有表的SELECT, INSERT, UPDATE, DELETE权限,还指定了用户的登录密码。FLUSH PRIVILEGES命令用于立即使授权更改生效。 2.2 用户撤销 当不再需要某些用户权限时,管理员...