• 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 

  • 相关阅读:
    作业2019.1.15
    面向对象
    Arrays类的常用方法
    堆和栈的区别
    吃货联盟订餐系统
    解决Navicat连接MySQL出现1251-Client does not support authentication protocol requested by server;
    k-进制数
    怎么用宝塔面板搭建一个网站?
    Win10启动修复无法修复你的电脑解决方法
    java HashMap怎么用
  • 原文地址:https://www.cnblogs.com/lytwajue/p/7039365.html
Copyright © 2020-2023  润新知