温馨提示×

CentOS Stream 8数据库管理如何操作

小樊
33
2025-12-21 11:06:55
栏目: 智能运维

CentOS Stream 8 数据库管理实操指南

一 环境准备与通用安全

  • 更新系统与基础工具:执行 sudo dnf update -y,并安装常用工具(如 vim、wget)。
  • 安装常见依赖:MySQL 场景建议 dnf install -y libaio ncurses-compat-libs;MariaDB 通常随包提供依赖。
  • 防火墙放行:数据库默认端口 3306(MySQL/MariaDB)/ 5432(PostgreSQL),按需放行,例如 firewall-cmd --add-port=3306/tcp --permanent && firewall-cmd --reload
  • 安全基线:保持系统与安全补丁更新,禁用不必要的服务,使用强密码并限制 root 远程登录。以上为后续安装与运维的通用前置步骤。

二 安装与初始化 MySQL 8.0

  • 添加 MySQL 官方仓库并安装:
    • 下载并安装仓库 RPM(示例为 8.0 系列),随后 sudo dnf install -y mysql-community-server
  • 启动与自启:
    • sudo systemctl start mysqld && sudo systemctl enable mysqld
  • 获取临时 root 密码并安全初始化:
    • 查看日志:sudo grep ‘temporary password’ /var/log/mysqld.log
    • 运行安全脚本:sudo mysql_secure_installation(设置 root 强密码、移除匿名用户、禁止远程 root 等)。
  • 登录与基础配置:
    • mysql -u root -p;创建业务库与用户并授权,例如:
      • CREATE DATABASE appdb CHARACTER SET utf8mb4;
      • CREATE USER appuser@‘%’ IDENTIFIED BY ‘StrongPass!’;
      • GRANT ALL PRIVILEGES ON appdb.* TO appuser@‘%’;
      • FLUSH PRIVILEGES;
  • RPM 安装常见依赖与冲突处理:
    • 如遇与系统自带 MariaDB 组件冲突,先移除相关包(如 mariadb-connector-c-config);
    • 若缺少依赖,按提示安装(如 openssl-devel、libaio、ncurses-compat-libs)。
  • 密码策略提示:若使用 MySQL 8 默认策略,设置复杂密码;如仅为测试可降低强度(如 set global validate_password.policy=LOW;)。

三 安装与初始化 PostgreSQL 14

  • 安装官方仓库并禁用系统模块冲突:
    • sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    • sudo dnf -qy module disable postgresql
    • sudo dnf install -y postgresql14-server
  • 自定义数据目录并初始化:
    • 创建目录并授权:sudo mkdir -pv /data/pgsql/14/data && sudo chown postgres:postgres /data/pgsql/14/data
    • 修改服务文件 /usr/lib/systemd/system/postgresql-14.service 中的 Environment=PGDATA=/data/pgsql/14/data
    • 重载并初始化:sudo systemctl daemon-reload && sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
    • 启动与自启:sudo systemctl enable --now postgresql-14
  • 基础对象与远程访问:
    • 切换到 postgres 用户:su - postgres,进入 psql
    • 创建用户与库:
      • CREATE USER pguser WITH ENCRYPTED PASSWORD ‘StrongPass!’;
      • CREATE DATABASE pgdb OWNER pguser;
    • 允许远程:编辑 /var/lib/pgsql/14/data/postgresql.conflisten_addresses 改为 ‘*’;在 pg_hba.conf 增加规则(如 host all all 0.0.0.0/0 md5),重启服务生效。

四 备份恢复与日常运维

  • 备份与恢复:
    • MySQL:逻辑备份用 mysqldump -u root -p --databases appdb > appdb.sql,恢复用 mysql -u root -p < appdb.sql
    • PostgreSQL:逻辑备份用 pg_dump -U pguser -h 127.0.0.1 -d pgdb > pgdb.sql,恢复用 psql -U pguser -h 127.0.0.1 -d pgdb -f pgdb.sql
  • 服务与日志:
    • 常用:sudo systemctl status|restart|reload mysqld/postgresql-14
    • 日志路径:/var/log/mysqld.log(MySQL),PostgreSQL 日志位于 PGDATA/log/ 或 systemd 日志(journalctl -u postgresql-14)。
  • 监控建议:部署 Netdata 等实时监控,开启对 MySQL/MariaDBPostgreSQL 的插件,观察连接、查询、缓存命中、复制延迟等关键指标。

五 版本选择与风险提示

  • 版本与生命周期:有资料指出 CentOS Stream 8 已进入 EOL(停止维护) 阶段,生产环境建议优先考虑仍受支持的发行版(如 RHEL、AlmaLinux、Rocky Linux)或升级至 CentOS Stream 9/10,以获得安全更新与兼容性保障。
  • 在继续使用 CentOS Stream 8 的场景下,务必加强补丁、最小化暴露面、严格访问控制与定期离线备份,以降低安全风险。

0