在使用 CentOS 系统部署数据库(如 MySQL 或 MariaDB)时,合理配置数据库用户权限是保障系统安全的关键一步。本文将从零开始,为初学者详细讲解如何在 CentOS 上创建数据库用户、分配权限以及进行权限管理,确保你的数据库既安全又高效。
默认情况下,MySQL 安装后只有一个 root 用户,拥有全部权限。如果所有应用都使用 root 账号连接数据库,一旦账号泄露,整个数据库将面临巨大风险。因此,遵循“最小权限原则”——即只授予用户完成任务所需的最低权限,是 Linux数据库权限设置 的最佳实践。
首先,确保你已在 CentOS 上安装了 MySQL 或 MariaDB。然后使用 root 用户登录数据库:
# 登录 MySQL(MariaDB 同理)mysql -u root -p 输入安装时设置的 root 密码后,即可进入 MySQL 命令行界面。
假设我们要为一个名为 blog_app 的应用创建一个专用数据库用户,该用户只能访问 blog_db 数据库。
CREATE DATABASE blog_db;
-- 语法:CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';CREATE USER 'blog_user'@'localhost' IDENTIFIED BY 'StrongPass123!'; 说明:'blog_user'@'localhost' 表示该用户只能从本机连接。若需远程访问,可将 localhost 改为 %(表示任意主机),但需注意安全风险。
-- 授予对 blog_db 的 SELECT, INSERT, UPDATE, DELETE 权限GRANT SELECT, INSERT, UPDATE, DELETE ON blog_db.* TO 'blog_user'@'localhost';-- 刷新权限使生效FLUSH PRIVILEGES;
这样,blog_user 就只能操作 blog_db 中的数据,无法查看或修改其他数据库,极大提升了 CentOS数据库安全。
SHOW GRANTS FOR 'blog_user'@'localhost';
REVOKE DELETE ON blog_db.* FROM 'blog_user'@'localhost';FLUSH PRIVILEGES;
DROP USER 'blog_user'@'localhost';FLUSH PRIVILEGES;
| 权限 | 作用 |
|---|---|
| SELECT | 查询数据 |
| INSERT | 插入新数据 |
| UPDATE | 修改现有数据 |
| DELETE | 删除数据 |
| ALL PRIVILEGES | 所有权限(慎用!) |
通过以上步骤,你已经掌握了在 CentOS 系统中进行 MySQL用户权限管理 的核心技能。合理的权限配置不仅能提升系统安全性,还能在出现问题时快速定位责任范围。
提示:本文适用于 CentOS 7/8 及兼容发行版(如 Rocky Linux、AlmaLinux),数据库以 MySQL 5.7 / MariaDB 10.x 为例。
本文由主机测评网于2025-12-15发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025127896.html