引言

MySQL 是一款广泛使用的开源关系型数据库管理系统,它拥有高性能、可靠性和易用性。在 CentOS 系统上编译安装 MySQL 5.7,不仅可以避免依赖包的烦恼,还可以更好地掌握 MySQL 的安装过程。本文将详细介绍在 CentOS 上编译安装 MySQL 5.7 的步骤。

准备工作

在开始编译安装 MySQL 之前,需要确保以下准备工作已完成:

  1. 安装必要的编译工具
    
    sudo yum install -y gcc gcc-c++ make ncurses ncurses-devel bison bison-devel
    
  2. 创建用户和用户组(可选):
    
    sudo groupadd mysql
    sudo useradd -g mysql mysql
    

下载 MySQL 源码

  1. 访问 MySQL 官方网站( MySQL 5.7 源码包。
  2. 使用 wgetcurl 下载到本地:
    
    wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
    

安装 MySQL Yum 仓库

  1. 安装下载的 Yum 仓库 RPM 包:
    
    sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm
    
  2. 更新 Yum 仓库以获取最新的 MySQL 包列表:
    
    sudo yum clean all
    sudo yum makecache
    

编译安装 MySQL 5.7

  1. 安装 MySQL 5.7 的源码包:
    
    sudo yum install -y mysql-community-server
    
  2. 进入 MySQL 源码目录:
    
    cd /usr/src/mysql-5.7.x
    
    (其中 5.7.x 代表 MySQL 版本的版本号。)
  3. 配置编译选项(根据需要修改):
    
    ./configure \
    --prefix=/usr/local/mysql \
    --with-unix-socket-path=/var/lib/mysql/mysql.sock \
    --with-socket-path=/var/lib/mysql/mysql.sock \
    --with-datadir=/var/lib/mysql \
    --with-log-error=/var/log/mysql/error.log \
    --with-log-queries=/var/log/mysql/query.log \
    --with-log-slow-queries=/var/log/mysql/slow-queries.log \
    --with-systemd=yes \
    --without-ipv6 \
    --without-man-pages \
    --enable-thread-safe-client \
    --enable-local-infile \
    --enable-named-pipe \
    --enable-secure-file-priv=/var/lib/mysql \
    --enable-ct-face \
    --with-openssl
    
  4. 编译和安装:
    
    make
    sudo make install
    

初始化 MySQL

  1. 初始化 MySQL 数据库:
    
    sudo /usr/local/mysql/bin/mysqld --initialize
    
  2. 设置 MySQL 的 root 密码:
    
    mysql_secure_installation
    

配置 MySQL

  1. 修改 MySQL 配置文件(/etc/my.cnf):
    
    [mysqld]
    basedir=/usr/local/mysql
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    log-error=/var/log/mysql/error.log
    pid-file=/var/run/mysqld/mysqld.pid
    character-set-server=utf8
    collation-server=utf8_general_ci
    
  2. 重启 MySQL 服务:
    
    sudo systemctl restart mysqld
    

总结

通过以上步骤,您已经成功在 CentOS 上编译安装了 MySQL 5.7。这样,您就可以避免依赖包的烦恼,并更好地掌握 MySQL 的安装过程。如果您在使用过程中遇到任何问题,可以参考 MySQL 官方文档或寻求社区帮助。