mysql的编译安装

mysql 的编译安装方法

以下安装方法适用于 ubuntu 系统

一。安装前准备#

因为我们是编译安装所以我们要准备一些必须的程序来完成 mysql 的编译
cmake: 一个跨平台的编译工具

sudo apt install cmake

gcc g++:c /c++ 编译器

sudo apt install gcc g++

libncurses5-dev:mysql 编译的一个必要的包不安装编译时会报错

sudo apt install libncurses5-dev

boost:mysql 编译时会用到的 c++ 库 (如果下载 mysql 的地址使用的是本文章演示的地址则可以跳过这一步)
根据 mysql 版本的不同需要的 boost 版本也可能变动 (我们可以先下载最新版的 boost, 然后通过【cmake】的错误提示去调整 boost 的版本) 为了方便管理我们可以在 usr/local/ 目录下创建一个 boost 目录用来放置 boost (boost 官网)

sudo mkdir /usr/local/boost
cd /usr/local/boost
wget https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz
tar zxvf boost_1_80_0.tar.gz

二。下载源码包#

准备工作做完后就该下载 mysql 源码包了,下载地址:mysql 官网
通过 wget 命令来下载 mysql 的源码

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.18.tar.gz

下载下来的是一个 tar.gz 的压缩包我们要用 tar 命令进行解压然后通过 cd 名】进入【mysql-boost-5.7.18】目录

tar zxvf mysql-boost-5.7.18.tar.gz
cd mysql-boost-5.7.18

三。编译安装#

1. 通过 cmake 命令来生成编译所需的【makefile】文件
【DWITH_BOOST 参数】后面的值设置成之前下载的 boots 地址
其他参数对应解释和值可以参考 cmake 参数解释

sudo cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/mysql/data \-DWITH_BOOST=./boost/boost_1_59_0 \-DSYSCONFDIR=/etc \-DWITH_INNOBASE_STORAGE_ENGINE=1\-DWITH_PARTITION_STORAGE_ENGINE=1\-DWITH_FEDERATED_STORAGE_ENGINE=1\-DWITH_BLACKHOLE_STORAGE_ENGINE=1\-DWITH_MYISAM_STORAGE_ENGINE=1\-DWITH_MEMORY_STORAGE_ENGINE=1\-DENABLED_LOCAL_INFILE=1\-DWITH_READLINE=1\-DMYSQL_TCP_PORT=3306\-DEXTRA_CHARSETS=all\-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci

cmake 执行之后会生成编译所需的 【Makefile】文件接下来我们直接执行 【make (编译)】【make install (编译安装)】

sudo make
sudo make install

四。配置#

安装好的程序会在【cmake 命令中的参数:DCMAKE_INSTALL_PREFIX, 配置的目录中】
我们接下来要给 mysql 配置用户,权限以及初始化 mysql
1. 创建用户组

sudo groupadd mysql

2. 创建用户

sudo useradd -r -g mysql -s /bin/false mysql

3. 向 mysql 所在目录分配用户权限 (mysql 所在目录以【DCMAKE_INSTALL_PREFIX】为准)

sudo chown -R mysql:mysql /usr/local/mysql

4. 创建 my.cnf 配置文件

sudo vim /etc/my.cnf

将以下内容放置到 my.cnf 文件中

[client]
port= 3306
socket= /tmp/mysql.sock
default-character-set =utf8

[mysqld]
port= 3306
user =mysql
socket= /tmp/mysql.sock
basedir= /usr/local/mysql
character-set-server=utf8
datadir= /usr/local/mysql/data

5. 初始化数据库

sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql

初始化完成之后最后的几行中会展示【root@localhost: ;gxfi_q6ose】这就是初始的【用户 @可访问地址:密码】

五。总结#

这个文章的内容是我通过看 mysql 官方安装教程以及在网上搜索,实践总结出来的,它可能会因为系统不同,数据库版本不同,配置参数不同而造成安装失败,所以本文章仅供参考,安装过程中如出现问题可以发出来大家一起讨论(虽然我不一定有能力帮忙解决)

本作品采用《CC 协议》,转载必须注明作者和本文链接