浅谈12 条用于 Linux 的 MySQL/MariaDB 安全最佳实践
MySQL 无疑是开源数据库领域的标杆,而它的分支 MariaDB 近年来增长势头也相当强劲。不过,装好 MySQL 之后,默认配置可谈不上安全——确保数据库安全,是每个 DBA 的基本功。这么做不仅能保护数据库本身,也能提升整个 Linux 系统的安全水平,毕竟攻击者总是无孔不入,数据库更是他们眼
MySQL 无疑是开源数据库领域的标杆,而它的分支 MariaDB 近年来增长势头也相当强劲。不过,装好 MySQL 之后,默认配置可谈不上安全——确保数据库安全,是每个 DBA 的基本功。这么做不仅能保护数据库本身,也能提升整个 Linux 系统的安全水平,毕竟攻击者总是无孔不入,数据库更是他们眼中的“肥肉”。暴力破解 root 密码,就是最常见的手段之一。
下面这 12 条最佳实践,都是经过实战检验的硬核内容,照着做就能让你的 MySQL/MariaDB 站稳脚跟。
1. 安全地安装 MySQL
安装完 MySQL 后第一件该做的事是什么?运行安全安装脚本。它能帮你解决几个关键问题:
- 如果安装时没设 root 密码,现在赶紧设上
- 删除那些允许从本地主机外部访问的 root 账户,从根源上禁用远程 root 登录
- 清理匿名用户和测试数据库——默认情况下连匿名用户都能访问它们
# mysql_secure_installation
运行上述命令后,设置 root 密码,并通过输入 [Yes/Y] 和回车键回答一系列问题。
安全安装 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 是默认的 TCP 监听端口,改掉它能让很多自动化扫描工具失效。在 [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. 不要在命令行中运行 MySQL 命令
终端里输入的所有命令都会被 shell 的历史文件记录(比如 bash 的 ~/.bash_history)。攻击者一旦拿到这个文件,就能看到你输入的密码。强烈不建议像下面这样直接输密码:
# mysql -u root -ppassword_

使用密码连接 MySQL
查看命令行历史,就能看到之前输入的密码:
# history

查看命令行输入历史
正确的连接方式是这样的:
# 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 Server 包
强烈建议从官方仓库定期更新 MySQL/MariaDB 包,以获取最新的安全补丁和错误修复。操作系统默认仓库里的版本往往比较老旧。
# yum update # apt update
对 MySQL/MariaDB 做任何修改之后,别忘了重启服务:
# systemctl restart mariadb # RHEL/CentOS # systemctl restart mysql # Debian/Ubuntu
Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。
REAPER是Cockos开发的数字音频工作站,提供多轨音频与MIDI录制、剪辑、处理、混音和母带制作工具。Mac版兼容Intel与Apple芯片,支持AU、VST、VST3、CLAP等插件格式,并提供高度可定制的工作流程。
Ableton Live 是面向音乐制作人与现场表演者的数字音频工作站,提供编曲视图、独具特色的现场视图、音频录制、MIDI创作、实时变速、乐器及效果器。Mac版原生支持Apple芯片,并可连接音频接口、MIDI控制器和第三方插件。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。














