linux

如何配置Linux MySQL安全设置

小樊
46
2025-11-10 11:17:59
栏目: 云计算

1. 修改默认配置文件限制访问
编辑MySQL配置文件(通常位于/etc/mysql/mysql.conf.d/mysqld.cnf/etc/my.cnf),修改以下两项:

2. 强化root账户安全

3. 创建专用用户并实施最小权限原则
避免使用root用户进行日常操作,创建专用用户并授予最小必要权限(如仅需访问特定数据库的SELECTINSERT权限):

-- 创建用户(指定允许访问的主机,如localhost或特定IP)
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'AppSpecificPassword!';
-- 授予特定数据库的只读权限(示例)
GRANT SELECT, INSERT ON my_database.* TO 'app_user'@'localhost';
-- 刷新权限使变更生效
FLUSH PRIVILEGES;

定期审核用户权限,使用SHOW GRANTS FOR 'app_user'@'localhost';查看用户权限,及时回收不必要的权限(如REVOKE DELETE ON my_database.* FROM 'app_user'@'localhost';)。

4. 配置密码安全策略

5. 配置SSL/TLS加密连接
为防止数据传输过程中被窃取或篡改,启用MySQL的SSL/TLS加密:

6. 配置防火墙限制访问
使用Linux防火墙(如ufwfirewalld)限制MySQL端口(默认3306)的访问,仅允许信任的IP地址或网段连接:

通过netstat -tuln | grep 3306ss -tuln | grep 3306命令确认MySQL仅监听本地地址(127.0.0.1),避免公网暴露。

7. 启用日志记录与监控
开启MySQL的日志功能,记录数据库操作以便后续审计和排查安全事件:

修改配置后重启MySQL服务,定期检查日志文件,使用pt-query-digest等工具分析慢查询日志,及时发现异常操作(如大量SELECT *查询、频繁的登录失败尝试)。

8. 定期更新与安全审计

0
看了该问题的人还看了