Linux下MySQL 5.5编译安装

之前写过一篇Linux下编译安装MySQL,但是在5.5版本之后MySQL自动化建构工具从GUN Autotools换成了跨平台的Cmake系统,编译和配置和原来有些不同,这里做一个简单的小结。

1. 安装CMake

Cmake是跨平台的工具,如果之前就尝试过在Windows上编译MySQL的同学,就应该还记得CMake。

我的环境是不自带CMake(环境:RHEL5.4,YUM仓库里面没有CMake),所以需要自己安装。安装过程简单、顺利,没有遇到任何依赖问题……:)

$tar zxf cmake-2.6.4.tar.gz
$cd cmake-2.6.4
$./bootstrap
$make
$sudo make install

CMake下载安装参考

2. CMake编译MySQL 5.5
tar zxf mysql-5.5.11.tar.g
cd mysql-5.5.11
CFLAGS=”-O3″ CXX=gcc
CXXFLAGS=”-O3 -felide-constructors -fno-exceptions -fno-rtti”
cmake . -LH|more //CMake下查看MySQL的编译配置
cmake . -DCMAKE_INSTALL_PREFIX=/home/mysql/mysql -DEXTRA_CHARSETS=all
make -j 8 //8核并行编译
make install

其中”ccmake . -D……”也可直接使用”cmake .”,这样会进入一个简单文本GUI界面进行MySQL编译参数配置;

另外,原来的AutoTools和现在CMake配置参数的变化,在MySQL Forge的Autotools to CMake Transition Guide中可以查阅详细的对比说明。

3. 编译安装Step by Step

除了上面编译部分不同之外,其他的过程和原来的版本都还是不变的:

# # # 新建运行MySQL的用户 groupadd dba useradd -g dba mysql cp mysql-5.5.11.tar.gz /home/mysql/ chown -R mysql:dba /home/mysql/mysql-5.5.11.tar.gz # # # 开始编译、安装 su - mysql tar zxf mysql-5.5.11.tar.gz cd mysql-5.5.11 CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" cmake . -LH|more //CMake下查看MySQL的编译配置 cmake . -DCMAKE_INSTALL_PREFIX=/home/mysql/mysql -DEXTRA_CHARSETS=all make -j 8 && make install #-j 表示希望使用cpu核数 # # # 建立配置文件 cd /home/mysql/mysql su - root cp mysql/share/mysql/my-medium.cnf /etc/my.cnf chown -R mysql:dba /etc/my.cnf # # # 修改配置文件 配置数据文件、日志的路径 su - mysql vi /etc/my.cnf basedir = /home/mysql/mysql datadir = /home/mysql/mysql/data socket = /home/mysql/mysql/run/mysql.sock log-error = /home/mysql/mysql/log/alert.log log_slow_queries = /home/mysql/mysql/log/slow.log mkdir log run tmp # # # 初始MySQL配置表(用户表 权限表等) ./scripts/mysql_install_db --basedir=/home/mysql/mysql --datadir=/home/mysql/mysql/data --user=mysql --force # # # 启动MySQL ./bin/mysqld_safe &

参考:

1. MySQL Forge::CMake

2. Autotools to CMake Transition Guide

3. 编译安装MySQL

4. MySQL Source-Configuration Options

In:

2 responses to “Linux下MySQL 5.5编译安装”

  1. 布梅兰格

    请问一下,编译过程中出现大量的警告如下:
    dereferencing type-punned pointer will break strict-aliasing rules
    这个怎么解决呢

Leave a Reply

Your email address will not be published. Required fields are marked *