Linux数据库部署与运行环境搭建全流程
|
Linux数据库部署需从系统准备入手。选择稳定版本的发行版,如CentOS Stream 8/9、Ubuntu 22.04 LTS或Rocky Linux 9,确保内核版本不低于5.4,以支持现代数据库的内存管理与I/O调度特性。关闭SELinux或设为permissive模式,避免权限拦截;调整firewalld规则,开放数据库默认端口(如MySQL 3306、PostgreSQL 5432),同时禁用不必要的服务以减少攻击面。 基础依赖需预先安装。使用包管理器更新系统后,安装常用工具:curl、wget、unzip、vim及编译环境(gcc、make、cmake)。对于源码部署,还需openssl-devel、readline-devel、zlib-devel等开发库;若采用容器化方案,则需安装Docker 24+与docker-compose v2.20+,并配置非root用户加入docker组以保障安全运行权限。 数据库软件获取应优先选用官方渠道。MySQL推荐从dev.mysql.com下载社区版二进制包或使用APT/YUM官方仓库;PostgreSQL建议通过apt.postgresql.org或yum.postgresql.org安装;MongoDB则从www.mongodb.com/download-center获取对应架构的tar.gz包。避免使用系统默认仓库中过旧的版本,防止兼容性与安全漏洞风险。 部署方式依场景而定。二进制包部署需解压至/opt或/usr/local,创建专用系统用户(如mysql、postgres),设置数据目录权限(chown -R 用户:用户 /var/lib/mysql),并编写systemd服务单元文件实现开机自启。容器部署则编写简洁docker-compose.yml,挂载外部卷存储数据与配置,通过环境变量注入初始密码,禁止将数据库端口直接暴露于公网,改用反向代理或内部网络通信。 初始化配置是关键环节。首次启动前,MySQL需执行mysqld --initialize-insecure(测试环境)或--initialize(生成临时密码);PostgreSQL调用initdb -D /var/lib/pgsql/data,并修改pg_hba.conf允许本地信任连接;MongoDB需创建/etc/mongod.conf,启用systemLog、storage与net.bindIp配置。所有配置均需避开root用户直接运行,强制使用非特权账户。 安全加固不可省略。登录数据库后立即修改默认账户密码(如MySQL的root@localhost、PostgreSQL的postgres用户),删除匿名用户与test数据库;启用强密码策略与连接加密(MySQL的require_secure_transport、PostgreSQL的ssl = on);定期备份使用mysqldump/pg_dump结合cron定时任务,输出存至加密挂载盘或对象存储,保留最近7天副本并验证可恢复性。
AI辅助设计图,仅供参考 运行监控保障持续可用。部署Prometheus + Grafana栈,通过mysqld_exporter或postgres_exporter采集QPS、连接数、慢查询、磁盘延迟等指标;配置告警规则,如连接数超阈值80%、复制延迟大于30秒即触发通知。日常运维中,使用journalctl -u mysqld -f跟踪服务日志,配合top、iotop、ss -tuln定位资源瓶颈,避免手动kill进程,统一通过systemctl控制生命周期。(编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

