mysql如何设置只读用户_mysql只读用户权限配置

来源:这里教程网 时间:2026-02-28 20:24:07 作者:

在MySQL中创建只读用户,核心是赋予用户SELECT权限,同时避免授予修改数据或结构的权限。操作简单且实用,适合需要保护数据安全的场景。

1. 创建只读用户并指定主机访问

使用CREATE USER语句添加新用户,并限制其从特定主机连接。例如,创建一个只能从本地访问的只读账户:

CREATE USER 'readonly'@'localhost' IDENTIFIED BY 'secure_password';

若允许从任意主机连接,可将'localhost'替换为'%':

CREATE USER 'readonly'@'%' IDENTIFIED BY 'secure_password';

2. 授予数据库只读权限

使用GRANT命令为用户分配SELECT权限,确保其只能查询数据:

GRANT SELECT ON your_database.* TO 'readonly'@'localhost';

若需对所有数据库设置只读,可用:

GRANT SELECT ON *.* TO 'readonly'@'localhost';

注意:授予所有数据库权限时应谨慎,避免信息泄露。

3. 刷新权限并验证配置

权限变更后,执行FLUSH命令使配置立即生效:

FLUSH PRIVILEGES;

登录该用户账号测试权限:

尝试执行SELECT语句,确认可以正常查询; 尝试INSERT、UPDATE、DELETE或DROP等操作,应提示“权限被拒绝”。

4. 可选:限制用户资源与增强安全性

为提升安全性,可进一步限制用户的连接次数、并发连接数等:

ALTER USER 'readonly'@'localhost' WITH MAX_CONNECTIONS_PER_HOUR 100;

定期审查用户权限,删除不再使用的账户,保持系统整洁。

基本上就这些。只要正确分配SELECT权限并禁止写操作,就能实现可靠的只读访问控制。

相关推荐

热文推荐