centos7源码包安装mysql5.7
时间: 2023-10-22 15:04:28 浏览: 226
以下是在 CentOS 7 上从源码编译安装 MySQL 5.7 的步骤:
1. 首先安装必要的软件包:
```
sudo yum install -y wget gcc-c++ cmake ncurses-devel
```
2. 下载 MySQL 5.7 的源码包:
```
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.35.tar.gz
```
3. 解压缩源码包:
```
tar -xzf mysql-5.7.35.tar.gz
cd mysql-5.7.35
```
4. 创建一个构建目录并进入:
```
mkdir build
cd build
```
5. 运行 CMake 生成 Makefile:
```
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock \
-DMYSQL_TCP_PORT=3306 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_BOOST=/usr/local/boost
```
这里需要说明一下一些参数的含义:
- `-DCMAKE_INSTALL_PREFIX=/usr/local/mysql`:指定 MySQL 安装的路径。
- `-DMYSQL_DATADIR=/usr/local/mysql/data`:指定 MySQL 数据存放的路径。
- `-DSYSCONFDIR=/etc`:指定配置文件存放的路径。
- `-DWITH_MYISAM_STORAGE_ENGINE=1`:启用 MyISAM 存储引擎。
- `-DWITH_INNOBASE_STORAGE_ENGINE=1`:启用 InnoDB 存储引擎。
- `-DWITH_MEMORY_STORAGE_ENGINE=1`:启用 Memory 存储引擎。
- `-DWITH_READLINE=1`:启用 Readline 库。
- `-DENABLED_LOCAL_INFILE=1`:启用本地数据加载。
- `-DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock`:指定 MySQL 的 Unix 套接字路径。
- `-DMYSQL_TCP_PORT=3306`:指定 MySQL 的 TCP 端口号。
- `-DDEFAULT_CHARSET=utf8mb4`:指定 MySQL 默认字符集。
- `-DDEFAULT_COLLATION=utf8mb4_general_ci`:指定 MySQL 默认排序规则。
- `-DWITH_BOOST=/usr/local/boost`:指定 Boost 库的路径。
6. 编译并安装:
```
make -j$(nproc)
sudo make install
```
7. 创建 MySQL 用户和组:
```
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
```
8. 初始化 MySQL 数据库:
```
sudo /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
```
9. 启动 MySQL 服务:
```
sudo /usr/local/mysql/support-files/mysql.server start
```
10. 设置 MySQL 开机自启:
```
sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server
sudo chkconfig --add mysql.server
sudo chkconfig mysql.server on
```
至此,MySQL 5.7 的源码编译安装过程已经完成。
阅读全文