MySQL创建用户帐户并授予权限

时间:2020-03-05 15:30:23  来源:igfitidea点击:

MySQL可以说是领先和广泛使用的OpenSource数据库管理系统之一。
它是大多数网络托管和其他云提供商中首选的首选数据库管理系统。

在本教程中,我们将研究如何创建MySQL用户帐户并授予权限以允许它们访问和管理创建的数据库。

准备工作

在开始之前,教程假定我们已经安装了一个MySQL数据库或者MariaDB的实例,这是系统上的MySQL的叉子。

我们已经看到了如何在Ubuntu上安装MySQL 8,所以看看。

访问MySQL shell.

安装和保证MySQL或者MariaDB后,我们可以通过运行命令访问shell

$mysql -u root -p

此后,系统将提示我们输入root密码,并且在提供时,按Enter键访问shell

如何在MySQL中创建用户

要在MySQL中添加用户,请使用MySQL创建用户命令如图所示

CREATE USER 'theitroad_user'@'localhost' IDENTIFIED BY 'P@ssword123';

MySQL用户包含2个部分:"用户名"和"主机名"。
从上面的命令中,用户名是"theitroad_user"",而主机名为"localhost""

主机名部分表示用户initroad_user只能在本地连接到MySQL,例如:从托管MySQL的服务器。

要从外部主机系统授予访问权限,请将"LocalHost"替换为远程主机的IP地址。

例如,要使用IP'172.16.10.10'的主机系统授予访问权限,运行:

CREATE USER 'theitroad_user'@'172.16.10.10' IDENTIFIED BY 'P@ssword123';

要从任何主机系统授予访问权限,请使用充当通配符的"%"。

CREATE USER 'theitroad_user'@'%' IDENTIFIED BY 'P@ssword123';

向MySQL用户授予权限

创建用户时,我们可能希望为数据库引擎分配某些权限。
这些权限授予用户对数据库的访问权限,并使它们能够对数据库执行一些修改。

在MySQL中,有多种权限可以分配给用户。

但是,在本教程中,我们阐明了最常用的特权:

选择:这允许用户读取整个数据库

更新:这允许用户更新表中的行

插入:允许用户在给定表中插入行

删除:授予使用权限删除给定表中的行

创建:允许用户创建数据库和表

删除:授予删除整个数据库和表的用户权限

要授予用户某些权限要访问数据库,请使用下面显示的语法:

GRANT privilege1, privilege2 ON database_name.* TO 'database_user'@'localhost';

例如:

GRANT SELECT, INSERT, ON database_name.* TO database_user@'localhost';

要在数据库发出命令的特定表上为特定用户授予所有权限:

GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';

要授予所有数据库的用户所有权限运行命令:

GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost

显示用户帐户权限

一旦用户在数据库上创建和分配权限,我们可以轻松检查并确认使用"显示GRANTS"命令在用户上授予的权限,如下所示:

SHOW GRANTS FOR 'database_user'@'localhost';

从MySQL用户撤消权限

另外,可以选择从MySQL用户撤消一个或者多个权限。
授予用户权限时,语法几乎类似。

REVOKE ALL PRIVILEGES ON database_name.* FROM 'database_user'@'localhost';

删除现有的MySQL用户

要删除或者删除MySQL用户,请运行使用"drop"命令"如图所示:

DROP USER 'database_user'@'localhost';