MySQL创建用户帐户并授予权限
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';