CentOS 编译安装 MySQL
随着业务的发展,对数据库的需求也越来越高,在 Linux 环境下,尤其是 CentOS 中,通过编译源码的方式安装 MySQL 数据库是一种常见的做法,这种方法虽然相对复杂,但它能够提供更高的定制性和灵活性,本文将介绍如何在 CentOS 7 中通过编译源码的方式安装 MySQL 数据库,并与使用 RPM 包安装进行比较,以便读者能够根据自己的需求选择最合适的方法。
准备工作
1、确保系统更新并安装必要的工具:
确保你的 CentOS 7 系统已更新到最新状态。
安装必要的编译工具。
```bash
sudo yum update y
sudo yum install y gccc++ cmake make
```
2、下载 MySQL 源码:
从 MySQL 官方网站下载 MySQL 的源代码包,假设我们要安装 MySQL 8.0.29,可以使用如下命令:
```bash
wget HTTPS://cdn.mysql.com//Downloads/MySQL8.0/mysql8.0.29.tar.gz
tar xzvf mysql8.0.29.tar.gz
cd mysql8.0.29
```
编译安装 MySQL
3、配置编译参数:
在编译 MySQL 之前,需要配置编译参数,这一步非常重要,因为它决定了 MySQL 的功能和性能。
```bash
cmake
DCMAKE_INSTALL_PREFIX=/usr/local/mysql
DDEFAULT_CHARSET=utf8mb4
DDEFAULT_COLLATION=utf8mb4_general_ci
DWITH_EXTRA_CHARSETS=all
DWITH_MYISAM_STORAGE_ENGINE=1
DWITH_INNOBASE_STORAGE_ENGINE=1
DWITH_PARTITION_STORAGE_ENGINE=1
DWITH_READLINE=1
DWITH_ZLIB=system
DWITH_LIBWRAP=0
DWITH_DEBUG=0
DENABLED_LOCAL_INFILE=1
DWITH_SSL=system
DWITH_EMBEDDED_SERVER=1
DWITH_PLUGIN_DIR="/usr/local/mysql/lib/plugin"
.
```
4、编译和安装:
配置完成后,可以开始编译和安装 MySQL。
```bash
make j $(nproc)
sudo make install
```
5、配置 MySQL:
创建 MySQL 用户和组。
```bash
sudo groupadd mysql
sudo useradd r g mysql mysql
```
6、初始化 MySQL 数据库:
```bash
sudo chown R mysql:mysql /usr/local/mysql
sudo /usr/local/mysql/bin/mysqld initialize user=mysql
```
7、启动 MySQL 服务:
```bash
sudo /usr/local/mysql/bin/mysqld_safe user=mysql &
```
8、创建 systemd 服务文件:
```bash
sudo cat > /etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server
After=network.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe
Restart=always
RestartSec=10
[Install]
WantedBy=multiuser.target
EOF
```
9、启用并启动 MySQL 服务:
```bash
sudo systemctl enable mysqld
sudo systemctl start mysqld
```
10、登录 MySQL:
```bash
sudo /usr/local/mysql/bin/mysql u root
```
11、设置 root 密码:
```sql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;
EXIT;
```
与 RPM 包安装的比较
通过编译源码安装 MySQL 与使用 RPM 包安装相比,有以下区别:
灵活性:编译源码可以让你根据需要选择不同的编译选项,从而获得更符合需求的功能和性能。
兼容性:编译源码时可以确保 MySQL 与现有系统环境的兼容性。
复杂性:编译源码安装相对复杂,需要更多的时间和专业知识。
维护:使用 RPM 包安装的 MySQL 更容易维护和更新,因为可以通过包管理器轻松升级。
社区支持:RPM 包安装通常会有更好的社区支持,包括文档和问题解决。
注意事项
备份:在进行任何重大操作前,确保备份重要的数据。
版本选择:选择适合你业务需求的 MySQL 版本。
安全性:确保设置强密码并限制 root 用户的远程访问。
性能调优:根据实际负载情况调整 MySQL 的配置文件。
通过上述步骤,我们成功地在 CentOS 7 中通过编译源码的方式安装了 MySQL 数据库,尽管这种方法相对复杂,但它能够提供更高的定制性和灵活性,对于需要高度定制化安装的场景,编译源码安装无疑是一个很好的选择。