详细举例说明使用cmake编译安装mysql5.7
时间: 2023-08-17 18:05:26 浏览: 164
使用cmake编译安装mysql
好的,以下是使用CMake编译安装MySQL5.7的详细步骤:
1. 下载MySQL5.7的源代码包,解压缩到任意目录,例如 /usr/local/src/mysql-5.7.33。
2. 在终端进入源代码目录,创建一个 build 目录,用于存放编译生成的文件。
```
cd /usr/local/src/mysql-5.7.33
mkdir build
cd build
```
3. 在 build 目录中使用 CMake 生成 Makefile 文件。
```
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost_1_59_0 \
-DWITH_SSL=bundled \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_DEBUG=0 \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_LIBEVENT=system
```
这里是一些常用的选项说明:
- `-DCMAKE_INSTALL_PREFIX`:指定 MySQL 的安装目录,默认为 /usr/local/mysql。
- `-DMYSQL_DATADIR`:指定 MySQL 数据目录,默认为 /usr/local/mysql/data。
- `-DDOWNLOAD_BOOST=1`:从 MySQL 官网下载 Boost 库源码。
- `-DWITH_BOOST`:指定 Boost 库的路径。
- `-DWITH_SSL=bundled`:使用 MySQL 自带的 SSL 库。
- `-DWITH_INNOBASE_STORAGE_ENGINE=1`:启用 InnoDB 存储引擎。
- `-DWITH_ARCHIVE_STORAGE_ENGINE=1`:启用 Archive 存储引擎。
- `-DWITH_BLACKHOLE_STORAGE_ENGINE=1`:启用 Blackhole 存储引擎。
- `-DWITH_PARTITION_STORAGE_ENGINE=1`:启用 Partition 存储引擎。
- `-DEXTRA_CHARSETS=all`:启用所有的字符集。
- `-DDEFAULT_CHARSET=utf8mb4`:设置默认字符集为 utf8mb4。
- `-DDEFAULT_COLLATION=utf8mb4_unicode_ci`:设置默认排序规则为 utf8mb4_unicode_ci。
- `-DENABLED_LOCAL_INFILE=1`:允许从本地加载数据文件。
- `-DWITH_DEBUG=0`:关闭调试模式。
- `-DWITH_EMBEDDED_SERVER=OFF`:不编译嵌入式服务器。
- `-DWITH_LIBEVENT=system`:使用系统自带的 libevent 库。
4. 使用 make 命令编译源代码。
```
make -j4
```
这里的 -j4 表示使用 4 个 CPU 核心进行编译,可以根据需要进行调整。
5. 使用 make 命令安装 MySQL。
```
sudo make install
```
6. 修改 MySQL 数据目录的权限。
```
sudo chown -R mysql:mysql /usr/local/mysql
```
7. 初始化 MySQL 数据库。
```
sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
```
8. 启动 MySQL 服务。
```
sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &
```
现在,MySQL5.7已经成功编译安装完成了。
阅读全文