Linux下源代码编译安装MySQL 5.5.14完整教程

以下安装在CentOS5.6、Yellow Dog Linux release 6.2 (Pyxis)通过测试。

MySQL 最新的版本5.5.14需要cmake编译安装
1       mysql 5.5.14编译安装
安装所需要系统库相关库文件
yum install -y gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*
#yum install -y cmake

创建mysql安装目录和数据存放目录 
mkdir -p /usr/local/mysql/
mkdir -p /opt/data/mysql/

创建用户和用户组与赋予数据存放目录权限
groupadd -g 502 mysql
useradd -u 502 -g mysql mysql
chown mysql.mysql -R /opt/data/mysql/

安装cmake
(mysql5.5以后是通过cmake来编译的)
下载解压cmake-2.8.5.tar.gz
wget http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz

tar zxf cmake-2.8.5.tar.gz -C /usr/local/src
cd /usr/local/src/cmake-2.8.5
./configure

make -j6 && make install

安装mysql 5.5.14
wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.14.tar.gz

tar zxf mysql-5.5.14.tar.gz -C /usr/local/src
cd /usr/local/src/mysql-5.5.14

编译mysql-5.5.14
CFLAGS="-O3" CXX=gcc
CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti"

/usr/local/bin/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/opt/data/mysql \
-DMYSQL_TCP_PORT=3306

#-DWITH_MEMORY_STORAGE_ENGINE=1 \
#-DMYSQL_USER=mysql \
-DCMAKE_INSTALL_PREFIX=/home/mysql/mysql -DEXTRA_CHARSETS=all
CMake Warning:
  Manually-specified variables were not used by the project:
    MYSQL_USER
    WITH_MEMORY_STORAGE_ENGINE

nohup make -j6 && make install

复制配置文件
mv /etc/my.cnf /etc/my.cnf-`date +%F`
mkdir -p /usr/local/mysql/etc
cp support-files/my-medium.cnf /usr/local/mysql/etc/my.cnf
cd /usr/local/mysql/
mkdir log run tmp data

chgrp -R mysql.mysql *

cd /opt/data/mysql/
chown mysql.mysql /opt/data/mysql/

vim etc/my.cnf
innodb_log_files_in_group=2
innodb_data_home_dir = /opt/data/mysql/
innodb_data_file_path = ibdata1:2000M;ibdata2:2000M;ibdata3:20M:autoextend
innodb_log_group_home_dir = /opt/data/mysql/

# 4G RAM
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit=0
innodb_thread_concurrency=8
innodb_flush_method=O_DIRECT

# perform
tmp_table_size = 512M
max_heap_table_size=128M

相关推荐