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 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!