源码安装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++库构建)
三、查看下载文件并解压缩
[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 如图为解压缩后,目录内的文件内容
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
十、登录数据库并执行操作
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
排序算法Java实现
本文会通过Java语言实现:冒泡排序,插入排序,选择排序,归并排序,快速排序,桶排序,计数排序,基数排序,希尔排序 1 分析排序算法 1.1 执行效率 最好的情况,最坏的情况,平均情况时间复杂度 时间复杂度的系数,常数,低阶 比较次数和交换次数 1.2 算法的内存消耗 算法的内存消耗我们可以通过空间复杂度来度量。 原地排序算法,就是特指空间复杂度是O(1)的排序算法。 1.3 排序算法的稳定性 如果序列中有值相等的元素, 经过排序之后,相等元素之间原有的先后顺序不变化。 2 冒泡排序 稳定排序算法,原地排序算法,时间复杂度:O(n^2) 冒泡排序操作相邻的两个数据,每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系。每次冒泡都能选出最大的或者最小的值。 /** * 冒泡排序 * @param arr * @return */ public static int[] bubbleSort(int[] arr) { if (arr == null || arr.length == 0) { return null; } int n = arr.length; // 总共需要循环n...
- 下一篇
《阿里巴巴Java Spring Boot 2.0开发实战课程》课程视频和例子代码下载
《阿里巴巴Java Spring Boot 2.0开发实战课程》系列免费课程 视频 ,例子代码 完全免费 官方网站 《阿里巴巴Java Spring Boot 2.0开发实战课程》参考代码 完全免费 官方网站 第1讲:Spring Boot2.0新特性和入门实战,https://yq.aliyun.com/live/583 第2讲:Spring Boot2.0开发MVC网站并显示图片,https://yq.aliyun.com/live/592 第3课:Spring Boot2.0实战MySQL和3个高级面试题,https://yq.aliyun.com/live/612 第4课:Spring Boot2.0实战MVC用户登录和注册和Java面试题https://yq.aliyun.com/live/644 第5讲:Spring Bo
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6