加入收藏 | 设为首页 | 会员中心 | 我要投稿 站长网 (https://www.shaguniang.cn/)- 数据快递、应用安全、业务安全、智能内容、文字识别!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux系统数据库部署与运行环境搭建全流程指南

发布时间:2026-04-01 07:33:51 所属栏目:Linux 来源:DaWei
导读:  在Linux系统上部署数据库并搭建运行环境是开发者与运维人员的常见需求,无论是MySQL、PostgreSQL还是MongoDB,核心流程均包含环境准备、安装、配置、安全加固及性能优化等步骤。以下以MySQL为例,详细说明全流程

  在Linux系统上部署数据库并搭建运行环境是开发者与运维人员的常见需求,无论是MySQL、PostgreSQL还是MongoDB,核心流程均包含环境准备、安装、配置、安全加固及性能优化等步骤。以下以MySQL为例,详细说明全流程操作。


  一、系统环境准备
  1. 系统版本选择:推荐使用CentOS 7+/Ubuntu 20.04 LTS等长期支持版本,确保内核版本≥3.10以支持现代数据库特性。
  2. 依赖包安装:通过包管理器安装基础工具,如`yum install -y wget curl vim net-tools`(CentOS)或`apt install -y wget curl vim net-tools`(Ubuntu)。
  3. 资源检查:使用`free -h`确认内存≥4GB,`df -h`检查磁盘空间≥50GB,并确保有独立分区存放数据库数据文件。
  4. 防火墙配置:开放数据库端口(如MySQL默认3306),示例命令:
  `firewall-cmd --zone=public --add-port=3306/tcp --permanent \u0026\u0026 firewall-cmd --reload`(CentOS)
  或`ufw allow 3306/tcp`(Ubuntu)。


  二、数据库安装
  1. 官方仓库添加:
  - CentOS:下载MySQL官方YUM仓库文件并安装:
  `wget https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm \u0026\u0026 rpm -ivh mysql80-community-release-el7-6.noarch.rpm`
  - Ubuntu:使用`apt-key`添加GPG密钥并配置APT源:
  `wget https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 \u0026\u0026 apt-key add RPM-GPG-KEY-mysql-2022`
  2. 安装数据库服务:
  执行`yum install -y mysql-community-server`(CentOS)或`apt install -y mysql-server`(Ubuntu),安装完成后启动服务:
  `systemctl start mysqld`(CentOS)或`systemctl start mysql`(Ubuntu)。
  3. 获取初始密码:
  MySQL 8.0+首次启动会生成临时密码,通过`grep 'temporary password' /var/log/mysqld.log`(CentOS)或`sudo grep 'temporary password' /var/log/mysql/error.log`(Ubuntu)查看,后续登录时需使用此密码。


  三、安全配置与初始化
  1. 运行安全脚本:
  执行`mysql_secure_installation`,按提示完成以下操作:
  - 修改root密码(建议使用强密码,包含大小写字母、数字及特殊字符)
  - 移除匿名用户
  - 禁止root远程登录
  - 删除测试数据库
  - 刷新权限表
  2. 创建专用用户:
  登录MySQL后执行:
  `CREATE USER 'app_user'@'%' IDENTIFIED BY 'ComplexPass123!';`
  `GRANT SELECT,INSERT,UPDATE,DELETE ON app_db. TO 'app_user'@'%';`
  `FLUSH PRIVILEGES;`
  3. 配置字符集:
  编辑`/etc/my.cnf`(CentOS)或`/etc/mysql/mysql.conf.d/mysqld.cnf`(Ubuntu),在`[mysqld]`段添加:
  `character-set-server=utf8mb4`
  `collation-server=utf8mb4_unicode_ci`
  重启服务使配置生效:`systemctl restart mysqld`。


  四、性能优化与监控
  1. 内存参数调整:
  根据服务器内存修改`innodb_buffer_pool_size`(通常设为物理内存的50%-70%),例如在配置文件中添加:
  `innodb_buffer_pool_size=4G`
  2. 慢查询日志:
  启用慢查询记录以优化SQL性能:
  `slow_query_log=1`
  `slow_query_log_file=/var/log/mysql/mysql-slow.log`
  `long_query_time=2`
  3. 监控工具部署:
  安装Prometheus Node Exporter监控系统资源,或使用Percona PMM(Percona Monitoring and Management)进行数据库专项监控,通过`wget https://downloads.percona.com/downloads/PMM2/PMM-Server-2.x/latest/docker-compose.yml`快速部署容器化监控服务。


  五、备份与恢复策略
  1. 逻辑备份:
  使用`mysqldump`定期备份:
  `mysqldump -u root -p --single-transaction --routines --triggers app_db > app_db_backup_$(date +%Y%m%d).sql`
  2. 物理备份:
  对于InnoDB引擎,推荐使用Percona XtraBackup:
  `yum install -y percona-xtrabackup-80`(CentOS)
  `xtrabackup --backup --user=root --password --target-dir=/backups/full_backup`
  3. 自动化脚本:
  编写Shell脚本结合crontab实现定时备份,例如每日凌晨3点执行全量备份:
  `0 3 /usr/bin/mysqldump -u root -p'password' app_db > /backups/app_db_$(date +\\%Y\\%m\\%d).sql`
  确保脚本权限为600且存储在安全目录。

(编辑:站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章