之前写过一篇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
$cd cmake-2.6.4
$./bootstrap
$make
$sudo make install
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
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 &
参考:
2. Autotools to CMake Transition Guide
3. 编译安装MySQL
Leave a Reply