建立新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和之后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。

如何建立新用户html

在MySQL的教程的第1部分中,咱们作了全部在MySQL中编辑root用户,拥有彻底访问全部的数据库。 可是,在可能须要更多限制的状况下,可使用自定义权限建立用户。mysql

让咱们从在MySQL shell中建立一个新用户开始:linux

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

可悲的是,此时newuser没有权限对数据库执行任何操做。 事实上,若是newuser甚至尝试登陆(使用密码,密码),他们将没法访问MySQL shell。sql

所以,首先要作的是为用户提供访问他们将须要的信息的权限。shell

GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';

此命令中的星号分别表示它们能够访问的数据库和表(这些命令容许用户在全部数据库和表中读取,编辑,执行和执行全部任务)。数据库

一旦您肯定了要为新用户设置的权限,请务必从新加载全部权限。框架

FLUSH PRIVILEGES;

您的更改现已生效。测试

如何授予不一样的用户权限ui

如下是用户能够享受的其余常见可能权限的简短列表。htm

ALL PRIVILEGES - 正如咱们前面所看到的,这将容许MySQL用户访问指定的数据库(或者若是系统中没有选择数据库)
CREATE-容许他们建立新的表或数据库
DROP-容许他们删除表或数据库
DELETE-容许他们从表中删除行
INSERT-容许它们向表中插入行
SELECT-容许他们使用Select命令来读取数据库
UPDATE-容许他们更新表行
GRANT OPTION - 容许他们授予或删除其余用户的权限

要向特定用户提供权限,可使用此框架:

GRANT [type of permission] ON [database name].[table “” not found /]

 TO ‘[username]’@'localhost’;

若是要向其授予对任何数据库或任何表的访问权限,请确保在数据库名称或表名称的地方放置星号(*)。

每次更新或更改权限时,请务必使用Flush Privileges命令。

若是您须要撤消权限,则结构与授予的结构几乎相同:

REVOKE [type of permission] ON [database name].[table “” not found /]

 FROM ‘[username]’@‘localhost’;

正如您可使用DROP删除数据库同样,您可使用DROP彻底删除用户:

DROP USER ‘demo’@‘localhost’;

要测试您的新用户,请经过键入注销

quit

并使用此命令在终端中从新登陆:

mysql -u [username]-p

原文来自:https://www.linuxprobe.com/grant-permissions-mysql.html

相关文章
相关标签/搜索