创建只读账户需先用CREATE USER添加用户,再通过GRANT授予SELECT权限并限制访问源,最后执行FLUSH PRIVILEGES生效;验证时能查询但无法执行写操作,确保遵循最小权限与安全原则。

在MySQL中设置只读账户,核心是创建一个用户并赋予其对指定数据库或表的SELECT权限,同时不授予任何修改数据的权限(如INSERT、UPDATE、DELETE、DROP等)。以下是具体操作步骤。
使用CREATE USER语句添加新用户,并指定允许登录的主机地址。例如,创建一个用户名为readonly_user,密码为your_password,仅能从本地连接的账户:
CREATE USER 'readonly_user'@'localhost' IDENTIFIED BY 'your_password';如果需要允许该用户从任意主机连接,可使用'%'代替'localhost',但需注意安全性。
使用GRANT语句为用户分配SELECT权限。假设你想让该用户只能读取mydb数据库中的所有表:
GRANT SELECT ON mydb.* TO 'readonly_user'@'localhost';如果你想限制到特定表,比如只允许读取mydb.users表:
GRANT SELECT ON mydb.users TO 'readonly_user'@'localhost';执行完授权后,运行以下命令使权限生效:
FLUSH PRIVILEGES;切换到只读用户登录MySQL:
mysql -u readonly_user -p进入后尝试执行SELECT语句,确认可以正常查询。然后尝试执行INSERT、UPDATE等写操作,应提示类似“ERROR 1142 (42000): SELECT command denied...”的错误,说明权限控制生效。
基本上就这些,操作简单但关键在于权限控制的严谨性。
以上就是如何在mysql中设置只读账户的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
 
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号