MySQL 创建只读用户
用户可能经常需要使用只读凭证创建对数据库的访问。 用户只能查看或读取保存在数据库中的数据; 他们不得更改其内容或设置方式。
本文主要讨论如何在MySQL中创建只读用户。 您需要创建一个只能以只读模式访问数据库的用户。
在 MySQL 中创建一个只读用户
要在 MySQL 中创建只读用户,请在终端或命令提示符下使用以下命令以 MySQL 管理员身份登录。
mysql -u root -p
将出现密码输入提示。 然后输入root账户的密码。
输出:
创建一个新的 MySQL 用户帐户
CREATE USER 'report'@'%' IDENTIFIED BY 'secret';
用户 report 可以使用上述命令中的 %
,如图所示,从任何主机加入。 您可以在指定用户可以连接的主机后限制访问。
如果省略此信息,用户将只能从同一台机器加入。
输出:
授予用户访问 SELECT 命令的权限
GRANT SELECT ON database_name.* TO 'report'@'%';
您必须同时拥有您授予的这些权限和 GRANT OPTION
权限才能使用 GRANT。 (或者,如果您拥有 MySQL 系统模式授权表的更新权限,则可以授予任何帐户任何权限)。
使用此命令,用户仅被授予对本地主机上数据库的只读访问权限。 如果您知道将安装收集器的主机的主机名或 IP 地址,请键入以下命令。
输出:
GRANT SELECT ON database_name.* TO 'report'@'host_name or IP_address';
要保存并应用权限调整,请运行以下命令。
FLUSH PRIVILEGES;
SHOW GRANTS FOR 'report'@'host_name or IP_address';
最后输入quite,显示用户授权权限确认。
由于 MySQL 8 与之前的版本不同,我们必须按照说明进行操作。 但是您必须按顺序分两个阶段进行:
CREATE USER 'readonly_user'@'localhost' IDENTIFIED BY 'some_strong_password';
GRANT SELECT, SHOW VIEW ON *.* TO 'readonly_user'@'localhost';
FLUSH PRIVILEGES;
MySQL 开发人员需要额外的功能,而 MySQL 8.0 提供了 SQL、JSON、正则表达式和 GIS 领域的许多功能。
UTF8MB4 在 8.0 版本中已经被用作默认字符集,因为开发者也希望能够存储 Emojis。
最后,还有对数据类型的增强,包括增强的 IPv6 和 UUID 功能以及对 BINARY 数据类型的按位操作。
输出:
以下是进一步的只读权限。
只读权限 | 说明 |
---|---|
SHOW VIEW | 允许他们显示视图模式。 |
SHOW DATABASES | 允许他们显示数据库。 |
REPLICATION CLIENT | 允许他们检查复制/从属状态。 但是他们需要允许所有数据库。 |
PROCESS | 允许他们检查正在运行的进程。 它仅适用于所有数据库。 |
以下是您可以授予用户的几种权限。
权限 | 说明 |
---|---|
ALL | 这将允许 MySQL 用户进行所有访问。 |
ALL PRIVILEGES | MySQL 用户将拥有完全访问权限。 |
CREATE | 使他们能够开发新的数据库或表。 |
DROP | 使他们能够删除数据库或表。 |
DELETE | 使他们能够从表中删除行。 |
INSERT | 使他们能够将行插入表中。 |
SELECT | 使他们能够使用 SELECT 命令读取数据库。 |
SHOW VIEW | 使他们能够显示视图架构。 |
REPLICATION CLIENT | 使他们能够检查复制/从属状态,但他们需要允许所有数据库。 |
PROCESS | 使他们能够检查正在运行的进程。 它仅适用于所有数据库。 |
UPDATE | 使它们能够更新表行。 |
GRANT OPTION | 使他们能够授予或删除其他用户权限。 |
使用以下框架为特定用户提供权限:
GRANT [type of permission list separated by a comma] ON [database name].[table name] TO ‘[username]’@'[hostname]’;
总结
在整篇文章中,我们讨论了在 MySQL 中创建只读用户。 使用它,用户只能出于只读目的访问数据库,并且只能从本地主机访问它。
密码始终标识只读用户。 如前所述,我们可以在MySQL命令行中使用几个命令来创建一个用户来访问数据库中的只读数据。
相关文章
如何在 MySQL 中声明和使用变量
发布时间:2024/03/26 浏览次数:115 分类:MySQL
-
当你需要在 MySQL 中的脚本中存储单个值时,最好的方法是使用变量。变量有不同的种类,有必要知道何时以及如何使用每种类型。
在 MySQL 中使用 Mysqladmin 刷新主机解除阻塞
发布时间:2024/03/26 浏览次数:82 分类:MySQL
-
你将了解阻止主机的原因。此外,通过使用 phpMyAdmin 和命令提示符刷新主机缓存来解除阻塞的不同方法和效果。