服务器源码安装mysql_源码安装MySQL步骤-阿里云开发者社区

一、源码编译的优缺点:

1.1 源码编译虽然繁琐复杂,但是有最好的平台适应性。

1.2 能体现出最好的性能(根据系统状态来产出何时的目的代码)

1.3 支持特殊的字符集

1.4 可以定制存储引擎

1.5 编译的过程,也是熟悉MySQL的过程。

二、源码包下载(官网 www.mysql.com)

DOWNLOADS——Archives(归档目录)——MySQL Community Server

下载选项:

Product Version  产品版本 → 选择版本(例如:8.0.12)

Operating System 操作系统 → 选择Source Code(源代码)

OS Version       系统版本 → 选择Generic Linux (Architecture Independent) 通用Linux(架构独立)

下载 Compressed TAR Archive,Includes Boost Headers → 选择带有Boost头的压缩包(MySQL需要Boost C++库构建)

e3f14e49203fe305132d169963d2b4d5.png

addc795f22c45efe2e39b6ce85aef360.png

三、查看下载文件并解压缩

[root@JSH-01 ~]# cd /usr/local/src/

[root@JSH-01 src]# ls

LinuxProbe.pdf mysql-boost-8.0.12.tar.gz

[root@JSH-01 src]# tar zxvf mysql-boost-8.0.12.tar.gz

[root@JSH-01 src]# ls

LinuxProbe.pdf mysql-8.0.12 mysql-boost-8.0.12.tar.gz

四、构建编译环境:使用cmake命令(需要通过yum安装)生成Makefile文件

4.1 cmake的基本使用方法

4.1.1 查看所有编辑选项:在源码目录执行 “ccmake .”或者“cmake . -LH” 命令(.指的是当前目录)

4.1.2 编译参数指定方式为: -DXXX=YYY  例如 -DMYSQL_DATADIR=/usr/local/var

4.1.3 cmake命令执行完毕后会生成MakeFile文件,用于对源代码进行编译

4.1.4 cmake为嵌套方式组织,每个目录下都有CMakeList.txt文件,在根目录下执行cmake命令会一次处理每个子目录下的CMakeList.txt 并生成MakeFile文件

4.1.5 cmake执行一次之后会保存执行状态,如果要重新执行,要删除源码目录下的CMakeList.txt文件

4.1.6 如图为解压缩后,目录内的文件内容

3e4374ece4b3fb8d4d036819e9768f1f.png

4.2 cmake命令的路径参数

4.2.1 -DCMAKE_INSTALL_PREFIX  指定安装目录(必须指定)

4.2.2 -DMYSQL_DATADIR  指定MySQL数据目录(必须指定)

4.2.3 -DINSTALL_SBINDIR  指定MySQL安装位置(默认为bin)

4.2.4 -DINSTALL_MYSQLSHAREDIR  指定share目录位置(默认为share)

4.2.5 -DINSTALL_LIBDIR  指定lib库安装位置(默认为lib)

4.2.6 -DINSTALL_MANDIR  指定帮助文档安装位置(默认为man)

4.2.7 -DINSTALL_MYSQLTESTDIR  指定测试套件安装位置(默认为mysql-test)

4.2.8 -DINSTALL_PLUGINDIR  指定插件安装位置(默认为plugin)

4.2.9 -DSYSCONFDIR 配置文件目录

4.3 cmake命令的存储引擎配置参数

4.3.1 -DWITH_ARCHIVE_STORAGE_ENGINE  归档引擎(默认打开)

4.3.2 -DWITH_BLACKHOLE_STORAGE_ENGINE  黑洞引擎(默认打开)

4.3.3 -DWITH_FEDERATED_STORAGE_ENGINE  联邦引擎(默认打开)

4.3.4 -DWITH_INNOBASE_STORAGE_ENGINE   Innodb引擎(5.5版之后默认打开)

4.3.5 -DWITH_INNODB_MEMCACHED     Innodb的memcached扩展(默认关闭)

4.3.6 -DWITH_PARTITION_STORAGE_ENGINE  分区引擎(默认打开)

4.3.7 -DWITH_PERFSCHEMA_STORAGE_ENGINE  性能统计表(默认打开)

4.4 与cmake编译相关的参数

4.4.1 -DWITH_DEBUG = ON|OFF  指定编译debug版本还是release版本

4.4.2 指定gcc编译参数,例如:“-O3 -g -DNDEBUG”

-DCMAKE_CXX_FLAGS  可以指定C代码参数

-DCMAKE_C_FLAGS  指定C++代码参数

-DCMAKE_C_FLAGS_RELEASE = -O3 -DNDEBUG

-DCMAKE_CXX_FLAGS_RELEASE

4.5 指定编译器

-DCMAKE_C_COMPILER = /usr/bin/gcc

-DCMAKE_CXX_COMPILER = /usr/bin/c++

4.6 关于cmake的详细介绍,请参考 https://www.cnblogs.com/hllnj2008/p/4043778.html

4.7 编译脚本举例(shell脚本)

#!/bin/sh

base_path=/usr/local/src/mysql

cmake .

-DCMAKE_INSTALL_PREFIX = /usr/local/src/mysql \

-DMYSQL_DATADIR = /usr/local/src/mysql/var \

-DINSTALL_SBINDIR = libexec \

-DINSTALL_LIBDIR = lib/mysql \

-DSYSCONFDIR = /usr/local/src/mysql/etc \

-DMYSQL_UNIX_ADDR = /usr/local/src/mysql/tmp/mysql.sock \

-DINSTALL_SCRIPTDIR = bin \

-DINSTALL_MYSQLSHAREDIR = share \

-DINSTALL_SUPPORTFILEDIR = share/mysql \

-DWITH_EXTRA_CHARSETS = all \

-DWITH_DEBUG = 0 \

-DWITH_PERFSCHEMA_STORAGE_ENGINE = 1 \

-DWITH_INNODB_MEMCACHED = 1 \

-DWITH_MYISAM_STORAGE_ENGINE = 1 \

-DWITH_INNOBASE_STORAGE_ENGINE = 1 \

-DWITH_PARTITION_STORAGE_ENGINE = 1 \

-DENABLED_PROFILING = 0 \

-DCMAKE_C_FLAGS = "-O3" \

-DCMAKE_CXX_FLAGS = "-O3" \

-DCMAKE_C_FLAGS_RELEASE = "-O3" \

-DCMAKE_CXX_FLAGS_RELEASE = "-O3" \

make -j 24

make install

#create etc,log,tmp,var

五、执行编译 make -j N(N为线程数,一般为服务器中CPU的个数)

六、安装编译产出物 make install

七、创建目录 etc  log  var  tmp

八、创建配置文件 etc/my.cnf

九、安装系统表 ./bin/mysql_install_db

十、登录数据库并执行操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值