当前位置:首页 > Centos > 正文

CentOS数据库用户权限详解(手把手教你管理MySQL用户权限)

在使用 CentOS 系统部署数据库(如 MySQL 或 MariaDB)时,合理配置数据库用户权限是保障系统安全的关键一步。本文将从零开始,为初学者详细讲解如何在 CentOS 上创建数据库用户、分配权限以及进行权限管理,确保你的数据库既安全又高效。

CentOS数据库用户权限详解(手把手教你管理MySQL用户权限) CentOS数据库用户权限 MySQL用户权限管理 CentOS数据库安全 Linux数据库权限设置 第1张

一、为什么需要管理数据库用户权限?

默认情况下,MySQL 安装后只有一个 root 用户,拥有全部权限。如果所有应用都使用 root 账号连接数据库,一旦账号泄露,整个数据库将面临巨大风险。因此,遵循“最小权限原则”——即只授予用户完成任务所需的最低权限,是 Linux数据库权限设置 的最佳实践。

二、准备工作:登录 MySQL

首先,确保你已在 CentOS 上安装了 MySQL 或 MariaDB。然后使用 root 用户登录数据库:

# 登录 MySQL(MariaDB 同理)mysql -u root -p  

输入安装时设置的 root 密码后,即可进入 MySQL 命令行界面。

三、创建新用户并授予权限

假设我们要为一个名为 blog_app 的应用创建一个专用数据库用户,该用户只能访问 blog_db 数据库。

1. 创建数据库(可选)

CREATE DATABASE blog_db;  

2. 创建新用户

-- 语法:CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';CREATE USER 'blog_user'@'localhost' IDENTIFIED BY 'StrongPass123!';  

说明:'blog_user'@'localhost' 表示该用户只能从本机连接。若需远程访问,可将 localhost 改为 %(表示任意主机),但需注意安全风险。

3. 授予特定权限

-- 授予对 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数据库安全

四、查看与撤销权限

1. 查看用户权限

SHOW GRANTS FOR 'blog_user'@'localhost';  

2. 撤销部分权限

REVOKE DELETE ON blog_db.* FROM 'blog_user'@'localhost';FLUSH PRIVILEGES;  

3. 删除用户(谨慎操作)

DROP USER 'blog_user'@'localhost';FLUSH PRIVILEGES;  

五、常见权限类型说明

权限 作用
SELECT 查询数据
INSERT 插入新数据
UPDATE 修改现有数据
DELETE 删除数据
ALL PRIVILEGES 所有权限(慎用!)

六、安全建议

  • 避免使用 root 账号运行应用程序;
  • 定期审查用户权限,删除不再使用的账号;
  • 为不同应用创建独立用户,实现权限隔离;
  • 启用防火墙限制数据库端口(默认 3306)的访问来源;
  • 使用强密码,并定期更换。

通过以上步骤,你已经掌握了在 CentOS 系统中进行 MySQL用户权限管理 的核心技能。合理的权限配置不仅能提升系统安全性,还能在出现问题时快速定位责任范围。

提示:本文适用于 CentOS 7/8 及兼容发行版(如 Rocky Linux、AlmaLinux),数据库以 MySQL 5.7 / MariaDB 10.x 为例。