在 CentOS 5.6 amd64 上编译安装 Percona Server.
版本: Percona-Server-5.5.10-rc20.1
softpath="/down/websoft/"
mkdir ${softpath} -p
cd ${softpath}
wget http://www.percona.com/redir/downloads/Percona-Server-5.5/Percona-Server-5.5.10-rc20.1/source/Percona-Server-5.5.10-rc20.1.tar.gz
tmp_Percona_v='Percona-Server-5.5.10-rc20.1'
tar zxvf ${tmp_Percona_v}.tar.gz
cd ${tmp_Percona_v}
# 可以通过 cmake . -LH 查看有哪里可选择的编译参数.
cmake . \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DSYSCONFDIR:PATH=/web/mysql \
-DCMAKE_INSTALL_PREFIX:PATH=/web/mysql \
-DENABLED_PROFILING:BOOL=ON \
-DENABLE_DEBUG_SYNC:BOOL=OFF \
-DMYSQL_DATADIR:PATH=/web/mysql/data \
-DMYSQL_MAINTAINER_MODE:BOOL=OFF \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk,gb2312 \
-DWITH_SSL:STRING=bundled \
-DWITH_UNIT_TESTS:BOOL=OFF \
-DWITH_ZLIB:STRING=bundled \
-DWITH_PARTITION_STORAGE_ENGINE:BOOL=ON \
-DINSTALL_LAYOUT:STRING=STANDALONE \
-DCOMMUNITY_BUILD:BOOL=ON \
-LH
make
make install
echo "/web/mysql/lib/" >> /etc/ld.so.conf
echo "/web/mysql/lib/plugin" >> /etc/ld.so.conf
ldconfig
cp ${softpath}/${tmp_Percona_v}/support-files/my-medium.cnf /etc/my.cnf
cp ${softpath}/${tmp_Percona_v}/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod 700 /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 345 mysqld on
chmod 755 /etc/init.d/mysqld
groupadd mysql
useradd mysql -g mysql -s /sbin/nologin
# 可能需要修改 /etc/init.d/mysqld
# 其中
# basedir=/web/mysql
# bindir=/web/mysql/bin
# 如果已经安装了 mysql 客户端的话.
# 把原来的mysql 备份
# mv /usr/bin/mysql /usr/bin/mysql.bak
ln -s /web/mysql/bin/mysql /usr/bin/mysql
#cp -pvr ${softpath}/${tmp_Percona_v}/data/mysql /web/mysql/data/
chmod 700 ${softpath}/${tmp_Percona_v}/scripts/mysql_install_db
${softpath}/${tmp_Percona_v}/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/web/mysql --user=mysql --datadir=/web/mysql/data
chown mysql.mysql -R /web/mysql/
# 启动mysql服务
service mysqld start
#在这里输入密码 (假设密码为123456,当然,这个密码是非常的不安全)
/web/mysql/bin/mysql_secure_installation
#
# 同时,在这里删除 anonymous(匿名用户),数据库 test(测试) 并且不允许 root 的远程登录
# 最后,再刷新权限表
#
chown mysql.mysql -R /web/mysql/
chmod 700 -R /web/mysql/
#/web/mysql/bin/mysql -uroot -p
#
# 输入密码
# 测试是否显示数据库
# show databases;
# 退出
# quit;
#
#==============================================================================
仅仅测试, 请别当真, 欢迎讨论. 让 编译/配置 更适合于生产环境.