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 协议》,转载必须注明作者和本文链接
推荐文章: