游乐游手机版
首页/系统平台/文章详情

Linux下MySQL与MariaDB的12条安全最佳实践

时间:2026-06-24 22:17
MySQL 和 MariaDB 是当前最流行的开源数据库之一,但默认安装后的安全配置往往存在诸多隐患。对 DBA 而言,筑牢数据库安全防线是基础工作,不仅能保护核心数据,也能提升整个 Linux 系统的防御能力。攻击者常将数据库视为重点目标,暴力破解 root 密码就是最常见的入侵手段之一。下面 1

MySQL 和 MariaDB 是当前最流行的开源数据库之一,但默认安装后的安全配置往往存在诸多隐患。对 DBA 而言,筑牢数据库安全防线是基础工作,不仅能保护核心数据,也能提升整个 Linux 系统的防御能力。攻击者常将数据库视为重点目标,暴力破解 root 密码就是最常见的入侵手段之一。

下面 12 条经过实战检验的 MySQL/MariaDB 安全最佳实践,能帮助你有效加固数据库,抵御常见攻击。

1. 安全安装 MySQL:运行安全脚本

安装 MySQL 后第一件事就是执行安全安装脚本。这个脚本能帮你完成关键操作:

  • 如果安装时未设置 root 密码,立即设定
  • 删除允许从本地主机外部访问的 root 账户,彻底禁用远程 root 登录
  • 清理匿名用户和测试数据库——默认情况下匿名用户也能访问它们
# mysql_secure_installation

运行上述命令后,设置 root 密码,并通过输入 [Yes/Y] 和回车键回答一系列问题。浅谈12 条用于 Linux 的 MySQL/MariaDB 安全最佳实践

安全安装 MySQL 的界面

2. 将数据库绑定到 Loopback 地址

通过配置绑定地址,限制 MySQL 只接受来自本地主机的连接,从源头阻止远程机器访问。编辑主配置文件即可:

# vi /etc/my.cnf                       [RHEL/CentOS]    
# vi /etc/mysql/my.conf                [Debian/Ubuntu] 
# vi /etc/mysql/mysql.conf.d/mysqld.cnf    [Debian/Ubuntu]

[mysqld] 部分加入这一行:

bind-address = 127.0.0.1

3. 禁用 MySQL 的 LOCAL INFILE

为了提高安全性,建议禁用 local_infile。在 [mysqld] 部分添加下面这行,防止 MySQL 直接访问底层文件系统:

local-infile=0

4. 修改 MySQL 默认端口

默认端口 3306 是自动扫描工具的重点目标,改掉它能让大量自动化攻击失效。在 [mysqld] 中设置:

Port=5000

5. 启用 MySQL 日志

日志是了解数据库运行状况的关键渠道,一旦遭遇攻击,也能从中发现入侵痕迹。在 [mysqld] 部分添加:

log=/var/log/mysql.log

6. 设置合适的 MySQL 文件权限

确保所有 MySQL 服务文件和数据路径的权限严格合理。例如 /etc/my.cnf 只能由 root 修改,防止其他用户篡改数据库配置:

# chmod 644 /etc/my.cnf

7. 清理 MySQL Shell 命令历史

MySQL shell 中执行的所有命令都会被保存在 ~/.mysql_history 文件中。这相当危险——你创建过哪些用户、输入过什么密码,都会被完整记录。

# cat /dev/null > ~/.mysql_history

8. 避免在命令行直接暴露密码

终端输入的每条命令都会进入 shell 历史文件(如 bash 的 ~/.bash_history)。攻击者一旦获取该文件,就能直接看到你输入的密码。强烈不建议像下面这样直接输密码:

# mysql -u root -ppassword_

浅谈12 条用于 Linux 的 MySQL/MariaDB 安全最佳实践

使用密码连接 MySQL

查看命令行历史,就能看到之前输入的密码:

# history

浅谈12 条用于 Linux 的 MySQL/MariaDB 安全最佳实践

查看命令行输入历史

正确的连接方式是这样的:

# mysql -u root -p
Enter password:

9. 为每个应用创建专用数据库用户

服务器上运行的每个应用,都应分配一个与之对应的独立数据库用户。例如部署 WordPress 站点时,按如下方式创建专用用户:

# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE osclass_db;
MariaDB [(none)]> CREATE USER 'osclassdmin'@'localhost' IDENTIFIED BY 'osclass@dmin%!2';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON osclass_db.* TO 'osclassdmin'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

记得及时删除不再使用的数据库用户。

10. 启用额外的安全插件与库

MySQL 自带多种安全插件,例如客户端连接验证、密码强度校验、敏感信息加密存储等,这些功能在免费版本中即可使用。更多信息可参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/security-plugins.html

11. 定期更换 MySQL 密码

密码定期更新是信息安全的基本要求,具体周期由内部安全策略决定。定期换密码能有效阻止长期蹲点、试图猜解密码的攻击者:

MariaDB [(none)]> USE mysql;
MariaDB [(none)]> UPDATE user SET password=PASSWORD('YourPasswordHere') WHERE User='root' AND Host = 'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;

12. 定期更新 MySQL 服务器软件包

强烈建议从官方仓库定期更新 MySQL/MariaDB 软件包,以获取最新的安全补丁和错误修复。操作系统默认仓库中的版本通常较旧。

# yum update
# apt update

对 MySQL/MariaDB 做任何修改之后,别忘了重启服务:

# systemctl restart mariadb     # RHEL/CentOS
# systemctl restart mysql       # Debian/Ubuntu
来源:https://www.jb51.net/LINUXjishu/596404.html
上一篇CentOS系统Samba服务无法访问怎么解决 下一篇Win11 24H2 KB5065426更新安装失败及文件共享损坏临时解决方法
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
微软详解Win11时间点还原 默认每24小时创建恢复点
系统平台 · 2026-06-30

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验
系统平台 · 2026-06-30

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

Win11六月可选更新KB5095093修复回收站弹窗异常
系统平台 · 2026-06-30

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞
系统平台 · 2026-06-30

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

微软加速Win11 25H2推送 覆盖所有符合条件家用PC
系统平台 · 2026-06-30

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送