centos7.9编译安装mysql5.6
时间: 2024-12-29 20:22:24 浏览: 7
### 编译并安装 MySQL 5.6
#### 准备工作
为了确保环境适合编译和安装 MySQL 5.6,在开始之前需要更新系统软件包到最新版本[^2]。
```bash
sudo yum update -y
```
接着,安装一些必要的开发工具和依赖项来支持后续的编译过程:
```bash
sudo yum groupinstall "Development Tools" -y
sudo yum install cmake ncurses-devel bison openssl-devel perl wget -y
```
对于特定于 MySQL 的构建需求,还需要额外安装 SCL 工具集以便更好地管理不同版本间的兼容性问题[^4]:
```bash
sudo yum install centos-release-scl scl-utils-build -y
```
#### 下载源码
前往官方下载页面获取对应版本的 MySQL 源代码压缩文件。这里假设已经找到了适用于 CentOS 7.x 平台下的 tarball 文件 `mysql-5.6.xx.tar.gz`:
```bash
cd /usr/local/src/
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.48.tar.gz
tar zxvf mysql-5.6.48.tar.gz
cd mysql-5.6.48
```
注意:实际操作时应替换为最新的稳定版号。
#### 构建与安装
创建一个新的用户用于运行 mysqld 进程,并设置合适的权限给数据目录 `/var/lib/mysql` 和日志路径 `/var/log/mysqld.log` :
```bash
groupadd mysql
useradd -r -g mysql mysql
mkdir -p /data/mysql/{data,tmp}
chown -R mysql:mysql /data/mysql
chmod 750 /data/mysql
touch /var/log/mysqld.log
chown mysql:mysql /var/log/mysqld.log
```
使用 CMake 来配置编译选项,指定安装位置和其他参数。此步骤非常重要因为它决定了最终生成的应用程序的行为特性:
```bash
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=bundled \
-DWITH_ZLIB=bundled \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/src/mysql-5.6.48/boost
```
执行上述命令后等待其完成初始化检查;如果一切正常,则可以继续进行编译链接阶段:
```bash
make && make install
```
#### 初始化数据库实例
首次启动前需先初始化默认的数据表结构体及其他必要资源:
```bash
/usr/local/mysql/scripts/mysql_install_db --user=mysql
```
#### 设置服务脚本
为了让 MySQL 能够随操作系统自动启停,还需复制提供的 init.d 启动脚本至相应的位置,并调整其中涉及的服务名及路径变量以匹配当前部署情况:
```bash
cp support-files/mysql.server /etc/init.d/mysqld
sed -i 's/^basedir=$/basedir=\/usr\/local\/mysql/' /etc/init.d/mysqld
sed -i 's/^datadir=$/datadir=\/data\/mysql\/data/' /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start
```
最后一步就是验证新安装的服务状态是否健康在线:
```bash
netstat -tlnp | grep :3306
ps aux|grep mysqld_safe
```
以上即完成了基于源码方式在 CentOS 7.9 上手动编译安装 MySQL 5.6 的全过程描述[^1].
阅读全文