虽然开始在MySQL5.5.8的编译过程中遇到了一些问题,因为之前从未接触过Cmake方式的编译,在查阅官方手册并结合谷歌,终于把问题搞定了。

目前Nginx的worker_processes设置为4,php-fpm设置为dynamic模式,max_children=32,start_servers=8,min_spare_servers=4,max_spare_servers=16,max_request=512的环境下,540MB内存剩余380MB,相比之前用Zend Server CE搭建的Lamp内存开销,优化效果还是十分明显的,而且网站速度也很理想,给我最大的感受就是页面请求的响应速度比以前大大提升了。

鉴于MySQL5.5.8这个新产品发布不久,网上的相关资料匮乏,补充一些自己在编译上的内容(注意,我因为自己对innodb无需求,因此屏蔽了innodb引擎,如果需要可以开启参数-DWITH_INNOBASE_STORAGE_ENGINE=1。


复制代码 代码如下:

#download software package

wget http://www.cmake.org/files/v2.8/cmake-2.8.3.tar.gz

wget http://ftp.gnu.org/gnu/bison/bison-2.4.3.tar.gz

tar zxvf cmake-2.8.3.tar.gz

cd cmake-2.8.3/

./configure –prefix=/usr

gmake

gmake install

cd ../

tar zxvf bison-2.4.3.tar.gz

cd cd bison-2.4.3

./configure

make

make install

#install mysql5.5.8

/usr/sbin/groupadd mysql

/usr/sbin/useradd -g mysql mysql

mkdir -p /data/mysql

chown -R mysql:mysql /data/mysql

tar zxvf mysql-5.5.8.tar.gz

cd mysql-5.5.8

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DWITHOUT_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DSYSCONFDIR=/etc/ -DWITH_SSL=yes -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=on

make

make install

/usr/local/mysql/scripts/mysql_install_db –basedir=/usr/local/mysql/ –datadir=/data/mysql –user=mysql

#modify mysql config

vim /etc/my.cnf

[client]

port = 3306

socket = /tmp/mysql.sock

[mysqld]

port = 3306

socket = /tmp/mysql.sock

skip-external-locking

key_buffer_size = 256M

max_allowed_packet = 1M

table_open_cache = 256

sort_buffer_size = 1M

read_buffer_size = 1M

read_rnd_buffer_size = 4M

myisam_sort_buffer_size = 64M

thread_cache_size = 8

query_cache_size= 16M

thread_concurrency = 1

basedir = /usr/local/mysql

datadir = /data/mysql

default-storage-engine = myisam

log-bin=mysql-bin

binlog_format=mixed

server-id = 1

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]

no-auto-rehash

[myisamchk]

key_buffer_size = 128M

sort_buffer_size = 128M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

#add to boot config

cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

chkconfig –add mysqld

/etc/rc.d/init.d/mysqld start

/usr/local/mysql/bin/mysql -u root -p -S /tmp/mysql.sock

PS:如果在编译PHP的时候报错error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory,可以通过以下方法解决:


复制代码 代码如下:

ln -s /usr/local/mysql/lib/mysql/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16


您可能感兴趣的文章:

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。