68

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

 5 years ago
source link: https://www.linuxprobe.com/grant-permissions-mysql.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。
如何创建新用户

在MySQL的教程的第1部分中,我们做了所有在MySQL中编辑root用户,拥有完全访问所有的数据库。 但是,在可能需要更多限制的情况下,可以使用自定义权限创建用户。

让我们从在MySQL shell中创建一个新用户开始:

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

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

因此,首先要做的是为用户提供访问他们将需要的信息的权限。

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

此命令中的星号分别表示它们可以访问的数据库和表(这些命令允许用户在所有数据库和表中读取,编辑,执行和执行所有任务)。

一旦您确定了要为新用户设置的权限,请务必重新加载所有权限。

FLUSH PRIVILEGES;

您的更改现已生效。

如何授予不同的用户权限

以下是用户可以享受的其他常见可能权限的简短列表。

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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK