以CentOS-6.4-minimal为基础进行编译:
编译时可以参考的文档:
检查gcc编译器:
gcc-v#检查gcc编译器
yum -y installgcc automake autoconf libtool make#安装GCC
yum installgcc gcc-c++ #安装C++编译器
下载cmakeyum -y install cmake
下载Mysql:groupadd mysql
useradd -r -g mysql mysql
mkdir /usr/local/web
cd /usr/local/web
wget http://dx2.mycodes.net/201105/mysql-5.5.12.tar.gz
tar zfxv mysql-5.5.12.tar.gz
cd mysql-5.5.12
cmake . -LH
加入参数配置:
cmake -DDEFAULT_CHARSET=utf8 #默认字符集
-DDEFAULT_COLLATION=utf8_general_ci
-DENABLE_DOWNLOADS=true #是否支持下载文件
-DENABLE_DTRACE=true #开启跟踪调试
-DENABLE_GCOV=true
-DENABLED_PROFILING=true #记录发送到服务器的语句
-DMYSQL_TCP_PORT=3306 #指定端口
-DWITH_ASAN=true #开启地址池清理
-DWITH_EMBEDDED_SERVER=true #开启libmysqld 动态库
-DWITH_EXTRA_CHARSETS=all #支持所有字符集
-DWITH_LIBEDIT=true
-DWITH_READLINE=true #使用捆绑的readline库
-DWITH_SSL=yes #支持ssl协议连接
-DWITH_ZLIB=system #支持zlib 也就是bzip2
-DWITH_BUNDLED_MEMCACHED=ON #支持mencache 缓存
-DWITH_INNOBASE_STORAGE_ENGINE=1 #innodb存储引擎
-DMYSQL_DATADIR=/usr/local/mysql/data #数据库存放目录
make
错误1:make[2]: /usr/bin/dtrace:命令未找到
make[2]: *** [include/probes_mysql_dtrace.h] 错误 127
make[1]: *** [CMakeFiles/gen_dtrace_header.dir/all] 错误 2
make: *** [all] 错误 2
#解决方法
yum install dtrace systemtap-sdt-devel -y
错误2:/bin/sh: /usr/bin/bison: 没有那个文件或目录
make[2]: *** [sql/sql_yacc.cc] 错误 127
make[1]: *** [sql/CMakeFiles/GenServerSource.dir/all] 错误 2
make: *** [all] 错误 2
#解决方法:
yum install bison-devel bison -y
运行前配置:cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
mv /etc/my.cnf /etc/my.cnf.bak #先备份,要养成这个习惯
cp support-files/my-medium.cnf /etc/my.cnf #
vi /etc/my.cnf.bak #打开后是以下这样的
[mysqld]
#把以下内容复制到新的my.cnf [mysqld]下
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
log-error=/var/log/mysqld.log #这一句是我加上去的,不加就没有日志记录
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#到这里结束
#把以下这一部分放到my.cnf 最后面
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#到这里结束
cp support-files/mysql.server /etc/init.d/mysql.server
启动mysqld服务:cd /usr/local/mysql/bin
./mysqld &