mysql编译安装

-static  13%
   --with-client-ldflags=-all-static
   --with-mysqld-ldflags=-all-static
静态链接提高13%性能

 

Unix Socket  7.5%
--with-unix-socket path=/usr/local/mysql/tmp/mysql.sock


使用unix套接字链接提高7.5%性能,所以在windowsmysql性能肯定不如unix下面

 

--enable-assembler

The --enable-assembler options of configure allows for
compiling in x86 (and sparc) versions of common string
operations, which should result in more performance.
汇编x86的普通操作符,可以提高性能

--with-extra-charsets=complex字符支持

--enable-thread-safe-client #Compile the client with threads. 也就是让客户端支持线程的意思

 

--with-big-tables

There is a limit of 232 (~4.295E+09) rows in a MyISAM table. If you build MySQL with the --with-big-tables option, the row limitation is increased to (232)2 (1.844E+19) rows

 

--with-ssl

--with-embedded-server   #编译成embedded MySQL library (libmysqld.a),

--enable-local-infile #mysql支持从本地文件 导入数据库

load data local infile '/usr/test' into table test fields terminated by ' ';
ERROR 1148 (42000): The used command
is not allowed with this MySQL version

 

--with-plugins=innobase存储引擎

Mysql5.1开始,编译添加innodb插件就从--with-innodb 改成了 --with-plugins=innobase

--with-plugins=PLUGIN[[[,PLUGIN..]]]
                                                    Plugins to include
in mysqld. (default is: none)
                                                    Must be a configuration name or a comma separated
                                                    list of plugins.
                                                    Available configurations are: none max max-no-ndb
                                                    all.
                                                    Available plugins are: partition daemon_example
                                                    ftexample archive blackhole csv example federated
                                                    heap innobase myisam myisammrg ndbcluster
如果多个插件,可以写成:--with-plugins=partition,blackhole,heap,innobase,myisam,ndbcluster 用逗号分开

 

 

 

 

 

 

 

安装MySQL 安装前确认以下包已经装好gcc gcc-c++ ncurses-devel

/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
tar zxvf mysql-5.4.0-beta.tar.gz
cd mysql-5.4.0-beta
CFLAGS="-O6 -mpentiumpro -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti"
./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/var/ --with-server-suffix=-enterprise-gpl --without-debug --with-big-tables --with-extra-charsets=latin1,gb2312,big5,utf8,GBK --with-extra-charsets=all --with-pthread --enable-static --enable-thread-safe-client --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler --without-innodb --without-ndb-debug --without-isam --with-federated-storage-engine
make && make install
cp support-files/my-medium.cnf /usr/local/mysql/my.cnf
/usr/local/mysql/bin/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

 my.cnf文件记得注销--skip-federated引擎功能再启动mysql

 ./mysqld_safe --defaults-file=/usr/local/mysql/my.cnf --user=mysql &

 

mysql编译参数说明:根据 ./configure --help 查看支持配置的参数

 

-pgcc-O6编译
CFLAGS="-O6 -mpentiumpro -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti"
总体性能可提高10%,当然如果服务器不是用奔腾处理器,就不必用它了,因为它是专为奔腾系统设计的

 

-static静态编译
--enable-static
--with-client-ldflags=-all-static
--with-mysqld-ldflags=-all-static
以静态方式编译客户端和服务端,能提高13%性能

 

--enable-thread-safe-client
以线程方式编译客户端

 

--without-innodb
去掉innodb表支持,innodb是一种支持事务处理的表,适合企业级应用

 

--without-isam
去掉isam表类型支持,现在很少用了,isam表是一种依赖平台的表

 

--without-ndb-debug
取消导航调试

 

--localstatedir=/usr/local/mysql/var/
日志文件目录

 

--with-server-suffix=-enterprise-gpl
MySQL加个后缀名,在用mysql登录的时候在版本号的后面可以看到

 

--without-debug
去除诊断模式,如果用--with-debug=full编译,大多数查询慢20%

 

--with-big-tables
大表支持

 

--with-extra-charsers=gbk,gb2312,utf8
设置支持gbk,gb2312,utf8字符集

 

--with-pthread
强制使用pthread(posix线程库)

 

--enable-assembler
使用一些字符函数来汇编版本

 

--with-federated-storage-engine
这个参数已经被废除,代替它的是--with-plugin系列

 

cp support-files/my-medium.cnf /usr/local/mysql/my.cnf
mysql/support-files
里面有配置文件范本,根据实际情况选择或者更改

 

/usr/local/mysql/bin/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --defaults-file=/usr/local/mysql/my.cnf --pid-file=/usr/local/mysql/mysql.pid
设定默认值:默认空间路径;默认数据文件路径;默认用户;默认配置文件路径;默认PID文件路径。

 


-------------------------------------------------------

 


本脚步未加入的编译参数:

--with-charset=utf8
设置默认字符集

 

--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
使用unix套接字链接提高7.5%性能,所以在windowsmysql性能肯定不如 unix

 

--with-tcp-port=3306
指定MySQL实例将监听TCP 3306端口

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22835022/viewspace-668851/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22835022/viewspace-668851/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值