引言
MySQL 是一款广泛使用的开源关系型数据库管理系统,它拥有高性能、可靠性和易用性。在 CentOS 系统上编译安装 MySQL 5.7,不仅可以避免依赖包的烦恼,还可以更好地掌握 MySQL 的安装过程。本文将详细介绍在 CentOS 上编译安装 MySQL 5.7 的步骤。
准备工作
在开始编译安装 MySQL 之前,需要确保以下准备工作已完成:
- 安装必要的编译工具:
sudo yum install -y gcc gcc-c++ make ncurses ncurses-devel bison bison-devel
- 创建用户和用户组(可选):
sudo groupadd mysql sudo useradd -g mysql mysql
下载 MySQL 源码
- 访问 MySQL 官方网站( MySQL 5.7 源码包。
- 使用
wget
或curl
下载到本地:wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
安装 MySQL Yum 仓库
- 安装下载的 Yum 仓库 RPM 包:
sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm
- 更新 Yum 仓库以获取最新的 MySQL 包列表:
sudo yum clean all sudo yum makecache
编译安装 MySQL 5.7
- 安装 MySQL 5.7 的源码包:
sudo yum install -y mysql-community-server
- 进入 MySQL 源码目录:
(其中cd /usr/src/mysql-5.7.x
5.7.x
代表 MySQL 版本的版本号。) - 配置编译选项(根据需要修改):
./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
- 编译和安装:
make sudo make install
初始化 MySQL
- 初始化 MySQL 数据库:
sudo /usr/local/mysql/bin/mysqld --initialize
- 设置 MySQL 的 root 密码:
mysql_secure_installation
配置 MySQL
- 修改 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
- 重启 MySQL 服务:
sudo systemctl restart mysqld
总结
通过以上步骤,您已经成功在 CentOS 上编译安装了 MySQL 5.7。这样,您就可以避免依赖包的烦恼,并更好地掌握 MySQL 的安装过程。如果您在使用过程中遇到任何问题,可以参考 MySQL 官方文档或寻求社区帮助。