当前位置:首页 > 问答 > 正文

数据库管理 系统运维 CentOS系统中MySQL的正确安装与配置方法

🚀 CentOS系统安装MySQL 8.0终极指南(2025最新版)🔥

📦 第一步:环境准备(打地基阶段)

  1. 系统版本确认

    cat /etc/redhat-release

    💡 支持CentOS 7.6+/8.x/9.x,需glibc 2.17+环境

    数据库管理 系统运维 CentOS系统中MySQL的正确安装与配置方法

  2. 卸载残留组件

    # 删除MariaDB
    rpm -e `rpm -qa | grep mariadb` --nodeps
    # 清除旧版MySQL
    find / -name mysql | xargs rm -rf
  3. 安装核心依赖

    yum install -y libaio net-tools perl-Getopt-Long

    🔧 解决libaio.so.1libnuma.so.1等依赖缺失问题

💿 第二步:官方源安装(三步走战略)

  1. 下载官方仓库配置

    wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
    rpm -ivh mysql80-community-release-el7-3.noarch.rpm
  2. 一键安装服务器

    yum install mysql-community-server -y

    📦 包含client/libs/server等核心组件

  3. 启动服务初始化

    systemctl start mysqld
    systemctl enable mysqld

    🔑 获取临时密码:grep 'temporary password' /var/log/mysqld.log

    数据库管理 系统运维 CentOS系统中MySQL的正确安装与配置方法

🔒 第三步:安全加固(防御体系构建)

  1. 修改root密码

    ALTER USER 'root'@'localhost' 
    IDENTIFIED WITH mysql_native_password BY 'StrongPassword123!';
  2. 运行安全脚本

    mysql_secure_installation

    ✅ 执行操作:

    • 🚫 删除匿名用户
    • 🚫 禁止root远程登录
    • 🗑️ 删除测试数据库
    • 🔄 重新加载权限
  3. 配置文件优化

    # /etc/my.cnf
    [mysqld]
    bind-address = 127.0.0.1  # 禁止外网访问
    socket=/var/lib/mysql/mysql.sock
    validate_password.policy=STRONG  # 强密码策略
    ssl-ca=/etc/mysql/ca.pem    # 启用SSL

🔥 第四步:性能调优(让数据库飞起来)

  1. 内存参数调整

    [mysqld]
    innodb_buffer_pool_size = 8G  # 物理内存的70%
    table_open_cache = 4000
  2. 连接数控制

    max_connections = 500
    wait_timeout = 600
  3. 慢查询优化

    SET GLOBAL slow_query_log = 'ON';
    SET GLOBAL long_query_time = 1;  # 记录超过1秒的查询

🌐 第五步:远程访问配置(突破局域网限制)

  1. 创建专用用户

    数据库管理 系统运维 CentOS系统中MySQL的正确安装与配置方法

    CREATE USER 'admin'@'%' IDENTIFIED BY 'RemotePass123!';
    GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';
    FLUSH PRIVILEGES;
  2. 防火墙放行

    firewall-cmd --add-port=3306/tcp --permanent
    firewall-cmd --reload
  3. SELinux调整

    setsebool -P httpd_can_network_connect_db on

💾 备份与恢复(数据安全最后一公里)

  1. 物理备份方案

    # 使用Percona XtraBackup
    yum install percona-xtrabackup-80
    xtrabackup --backup --target-dir=/backup/base
  2. 逻辑备份策略

    # 每日全量备份
    0 2 * * * mysqldump -u admin -p'Pass123!' --all-databases > /backup/full.sql
  3. 恢复演练

    mysql -u root -p < /backup/full.sql

🛠️ 故障排查工具箱

  1. 日志定位

    tail -100 /var/log/mysqld.log
  2. 进程监控

    top -H -p `pidof mysqld`
  3. 连接诊断

    SHOW PROCESSLIST;

📅 更新日期:2025-08-20
📌 信息源:MySQL官方文档、Percona技术白皮书、CentOS项目组维护日志
💡 小贴士:每月运行mysqlcheck -A --auto-repair自动修复表碎片,让数据库保持最佳状态!

发表评论