MYSQL源代码编译的变动
Mysql的安装,对于mysql不同版本号的mysql源代码编译方式不一样 5.6.2的版本号開始编译方式已经由 configure 变成了cmake方式 ,相关的新的
编译方式在mysql官网已经提供
http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html
源代码下载地址例如以下
http://dev.mysql.com/downloads/mysql/
网上相关mysql5.6的源代码编译方式
http://www.chenyudong.com/archives/building-mysql-5-6-from-source.html 对于版本号5.6之前的mysql,编译方式还是传统的编译方式。
./configure
make && make install
此种编译方式是传统方式,详细配置參数 如 nginx 例如以下 以下是MYSQL5.6之前的编译配置參数(来自网友资料)
--prefix=PREFIX:指定程序安装路径。
--enable-assembler:使用汇编模式。(文档说明:compiling in x86 (and sparc) versions of common string operations, which should result in more performance. 汇编x86的普通操作符。能够提高性能)
--enable-local-infile:启用对LOAD DATA LOCAL INFILE语法的支持(默认不支持)。
--enable-profiling:Build a version with query profiling code (req.community-features)
--enable-thread-safe-client:使用编译客户端;(让客户端支持线程的意思)
--with-big-tables:启用32位平台对4G大表的支持;
--with-charset=CHARSET:指定字符集。
--with-collation=:默认collation;
--with-extra-charsets=CHARSET,CHARSET,...:指定附加的字符集;
--with-fast-mutexes:Compile with fast mutexes
--with-readline:
--with-ssl:启用SSL的支持;
--with-server-suffix=:加入字符串到版本号信息。
--with-embedded-server:编译embedded-server。构建嵌入式MySQL库;
--with-pthread:强制使用pthread类库;
--with-mysqld-user=:指定mysqld守护进程的用户。
--with-mysqld-ldflags=:静态编译MySQL服务器端。(静态链接提高13%性能)
--with-client-ldflags=:静态编译MySQL客户端。(静态链接提高13%性能)
--with-plugins=PLUGIN,PLUGIN 等等等(MySQL服务器端支持的存储引擎组件(默觉得空)。可选值较多:
partition:MySQL Partitioning Support;
daemon_example:This is an example plugin daemon;
ftexample:Simple full-text parser plugin。
archive:Archive Storage Engine。
blackhole:Basic Write-only Read-never tables。
csv:Stores tables in text CSV format,强制安装。
example:Example for Storage Engines for developers。
federated:Connects to tables on remote MySQL servers;
heap:Volatile memory based tables。强制安装;
ibmdb2i:IBM DB2 for i Storage Engine;
innobase:Transactional Tables using InnoDB。
innodb_plugin:Transactional Tables using InnoDB。
myisam:Traditional non-transactional MySQL tables,强制安装;
myisammrg:Merge multiple MySQL tables into one,强制安装;
ndbcluster:High Availability Clustered tables。)
--with-plugin-PLUGIN:强制指定的插件链接至MySQL服务器;
--with-zlib-dir=:向MySQL提供一个自己定义的压缩类库地址。
--without-server:仅安装MySQL客户端;
--without-query-cache:不要编译查询缓存;
--without-geometry:不要编译geometry-related部分;
--without-debug:编译为产品版,放弃debugging代码;
--without-ndb-debug:禁用special ndb debug特性;基于以上。我的配置:./configure --prefix=/usr/local/mysql/
--with-server-suffix=yu
--enable-assembler
--enable-local-infile
--enable-thread-safe-client
--with-big-tables
--with-charset=utf8
--with-extra-charsets=gbk,gb2312,utf8,ascii
--with-readline
--with-ssl
--with-embedded-server
--with-pthread
--with-mysqld-user=mysql
--with-mysqld-ldflags=-all-static
--with-client-ldflags=-all-static
--with-plugins=partition,innobase,innodb_plugin
MYSQL源代码编译的变动的更多相关文章
- Win7+VS2010:mysql 源代码编译与调试
win7+vs2010源代码编译mysql 近期因为在实习,工作重点在于一些数据库的开发,为了更好的理解数据库的实现机制.眼下萌生了要研究一下mysql数据库源代码的想法.那么好吧,说干就干.首先我们 ...
- Nginx+Php-fpm+MySQL+Redis源代码编译安装指南
说明:本教程主要包括以下三个部分: 1. 源代码编译安装Nginx 2. 源代码编译安装php以及mysql.redis扩展模块 3. 配置虚拟主机 文中所涉及安装包程序均提供下载链接,欢迎使用 运行 ...
- SUSE Linux源代码编译安装MySQL 5.6
这篇文章主要介绍了SUSE Linux下源代码编译方式安装MySQL 5.6过程分享,本文使用SUSE Linux Enterprise Server 10 SP3 (x86_64)系统,须要的朋友能 ...
- 源代码编译lamp环境
没有办法用 rpm查询一个源代码包是否安装 因为 并不是用rpm安装的 可以先吧 selinux 给禁用掉 iptables -F 把防火墙规则全部删除 首先确保 gcc gcc-c++ ma ...
- 源代码编译安装 PHP5.5.0,解决curl_exec訪问HTTPS返回502错误的问题
近期碰到一个奇怪的问题. PHP使用 curl_exec 訪问 HTTPS 网页时, 返回502错误, 訪问HTTP网页时没有问题, 用 echo phpinfo() ; 查看. 支持op ...
- MySQL免编译二进制包安装简记
相比较于MySQL的源代码安装来说.免编译二进制包的速度实在是快了太多,而且性能损失也不是很大,同时具有一定的定制性.所以,如果没有特殊的 需求,尽量用MySQL免编译二进制包来安装MySQL. 1. ...
- 初看mysql源代码之mysql.cc
在mysql的源代码目录中,sql目录是mysql源代码中经常变化的目录之一,也是MySQL服务器内核最为核心和重要的目录. sql目录除了包含mysqld.cc这一MySQL main函数所在文件外 ...
- MySQL 源代码scr.rpm安装的一点注意事项
rpm安装包通常为二进制包(Binary)以及源代码包(Source)两种形式. 在使用源代码方式安装MySQL的时候,官方站点上下载的源代码包通常为scr.rpm格式,而不是直接的tar包.对此,须 ...
- 源代码编译安装Python3.5.2
由于没有找到Python3.5的rpm安装包,因此进行源代码编译安装 1.下载Python3.5.2 [root@seastar ~]# cd /usr/local/src [root@seastar ...
随机推荐
- Golang-and-package-version-managment
参考文章 学习Golang之后对golang中的版本管理,包管理等机制一直没有很好的琢磨,偶然想起还是觉得很有必要进行归纳,包管理使用起来简单,无非就是install,uninstall,list等, ...
- react中的跨域问题
react中的跨域问题
- Mybatis之MySql批量insert后返回主键
需求:使用批量插入后,需要insert之后的每一条记录的ID 注意:Mybatis3.3.1的版本以后支持批量插入后返回主键ID 示例: domin.java: public class User { ...
- jvm 虚拟机参数_栈内存分配
1.参数 -Xss 指定线程最大的栈空间,整个参数也直接决定了函数可调用的最大深度 2.测试代码 private static int count; public static void addCou ...
- 搭建ELK日志分析平台(上)—— ELK介绍及搭建 Elasticsearch 分布式集群
笔记内容:搭建ELK日志分析平台(上)-- ELK介绍及搭建 Elasticsearch 分布式集群笔记日期:2018-03-02 27.1 ELK介绍 27.2 ELK安装准备工作 27.3 安装e ...
- atitit。企业组织与软件project的策略 战略 趋势 原则 attilax 大总结
atitit. 企业组织与软件project的策略 战略 趋势 原则 attilax 大总结 1. 战略规划,适当的过度设计 1 2. 跨平台化 1 3. 可扩展性高于一切 1 4. 界面html5化 ...
- linux 磁盘分区,主分区,扩展分区,逻辑分区以sata接口为例
以sata接口(依据linux内核检測其顺序 sda,sdb...)为例, 1, 硬盘的限制,最多仅仅能设置4个分区(主分区+扩展分区),路径例如以下, /dev/sda1 /dev/sda2 ...
- JUnit4.8.2源码分析-4 RunNotifier与RunListener
JUnit4运行过程中,org.junit.runner.notification. RunListener和RunNotifier运用了观察者模式. 1.观察者 观察者Observer/Listen ...
- Linux内核编译測试
内核编译: Step 1:配置内核编译选项. make menuconfig Optional Step :排除编译结果文件(.o)等之间的依赖性. make mrproper Optional St ...
- swoole-简单的异步执行
swoole-简单的异步执行 标签(空格分隔): php 理解 一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作. 阻塞IO和非阻塞IO的区别在于第一步,发起IO请求是否会被阻塞,如果阻塞 ...