CMake 安装MySQL5.7

简介

MySQL的安装方式又很多,比如二进制直接解压,利用rpm包方式安装,MySQL5.5之前可以用make,在MySQL5.5之后源码编译需要用CMake。这里简单介绍一下如何源码安装MySQL5.7。
一般二进制的方式就可以了,如果需要定制可以用CMAKE。

前提

  1. CMake
  2. ncurses 函数库
  3. 安装的时候需要Boost C++库,必须安装Boost1.59.0,安装之后,cmake需要加一个参数表明Boost文件所在的位置
cmake . -DWITH_BOOST=/usr/local/boost_1_59_0  #这里指定Boost位置

安装

第一步:安装CMake

yum install cmake -y

第二步:安装依赖包

yum groupinstall "Development Tools" -y  #安装开发包组,以防缺包
yum install ncurses  ncurses-devel gcc gcc-devel  gcc-c++  -y

第三步:创建mysql用户

useradd -M -s /sbin/nologin  mysql

第四步:安装MySQL5.7

源码包可以在官网下载,因为安装需要Boost库,所以这里下载的源码包直接下载一个包含Boost的源码包

官网的下载地址
https://dev.mysql.com/downloads/mysql/

在这里插入图片描述

下载好之后,解压

 tar xf mysql-boost-5.7.24.tar.gz
 cd mysql-5.7.24/

利用CMake构建MySQL5.7

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.7 \
-DMYSQL_DATADIR=/usr/local/mysql5.7/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql5.7/data/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0 \
-DWITH_BOOST=./boost/boost_1_59_0 

CMake编译安装过程会把指定的配置信息硬编码到程序文件中
这些配置项可以根据需要进行调整,

构建完成之后直接安装

make && make install

第五步:初始化数据库

/usr/local/mysql5.7/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql5.7  --datadir=/usr/local/mysql5.7/data

初始化之后会默认给你生成临时密码,这个要先记一下
如果不需要它帮你生成密码可以使用–initialize-insecure选项

第六步:设置一下路径以及权限

chown -R mysql.mysql  /usr/local/mysql5.7 
echo 'PATH=/usr/local/mysql5.7/bin/:$PATH' >>/etc/profile
source /etc/profile 

在这里插入图片描述

第七步:创建配置文件/etc/my.cnf

这里的参数需要按照部署的环境更改

[root@localhost mysql-5.7.24]# cat /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql5.7
datadir=/usr/local/mysql5.7/data
socket=/usr/local/mysql5.7/data/mysql.sock
symbolic-links=0
[mysqld_safe]
log-error=/usr/local/mysql5.7/data/err.log
pid-file=/usr/local/mysql5.7/data/mysql.pid

!includedir /etc/my.cnf.d

第八步:启动数据库

还有个点比较奇怪,MySQL5.7可能需要手动创建错误日志文件

touch /usr/local/mysql5.7/data/err.log
chown -R mysql.mysql  /usr/local/mysql5.7

启动数据库

mysqld_safe &

在这里插入图片描述

第九步:连接数据库

mysql -uroot -p -S /usr/local/mysql5.7/data/mysql.sock

在这里插入图片描述
参考官方文档:
https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用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已经成功编译安装完成了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值