- 論壇徽章:
- 0
|
轉(zhuǎn)載至(
http://blog.chinaunix.net/u/31568/showart_1149782.html
)
關(guān)鍵字: mysql compile
1. -static 13%
--with-client-ldflags=-all-static
--with-mysqld-ldflags=-all-static
靜態(tài)鏈接提高13%性能
2. -pgcc 1%
CFLAGS="-O3 -mpentiumpro -mstack-align-double" CXX=gcc \
CXXFLAGS="-O3 -mpentiumpro -mstack-align-double \
-felide-constructors -fno-exceptions -fno-rtti"
如果是Inter處理器,使用pgcc提高1%性能
3. Unix Socket 7.5%
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
使用unix套接字鏈接提高7.5%性能,所以在windows下mysql性能肯定不如unix下面
4. --enable-assembler
允許使用匯編模式(優(yōu)化性能)
下面是總體的編譯文件
編譯代碼
CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors \
-fno-exceptions -fno-rtti -fomit-frame-pointer -ffixed-ebp"
./configure \
--prefix=/usr/local/mysql --enable-assembler \
--with-mysqld-ldflags=-all-static
--with-client-ldflags=-all-static
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
--with-charset=utf8
--with-collation=utf8_general_ci
--with-extra-charsets=all
mysql編譯安裝
2007年03月19日 下午 05:42
安裝mysql
# tar zxvf mysql-4.0.14.tar.gz -C /setup
# cd /setup/mysql-4.0.14
# groupadd mysql
-----------------------------------------------------
2、編譯安裝MySQL 5.0.45/Mysql4.0.26(現(xiàn)在以mysql5為例)
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
tar zxvf mysql-5.0.45.tar.gz
cd mysql-5.0.45
./configure –prefix=/usr/local/webserver/mysql/ –without-debug –with-unix-socket-path=/tmp/mysql.sock –with-client-ldflags=-all-static –with-mysqld-ldflags=-all-static –enable-assembler –with-extra-charsets=gbk,gb2312,utf8 –with-pthread –enable-thread-safe-client
make && make install
chmod +w /usr/local/webserver/mysql
chown -R mysql:mysql /usr/local/webserver/mysql
cp support-files/my-medium.cnf /usr/local/webserver/mysql/my.cnf
cd ../
附:以下為附加步驟,如果你想在這臺服務(wù)器上運行MySQL數(shù)據(jù)庫,則執(zhí)行以下兩步。如果你只是希望讓PHP支持MySQL擴展庫,能夠連接其他服務(wù)器上的MySQL數(shù)據(jù)庫,那么,以下兩步無需執(zhí)行。
①、以mysql用戶帳號的身份建立數(shù)據(jù)表:
/usr/local/webserver/mysql/bin/mysql_install_db –defaults-file=/usr/local/webserver/mysql/my.cnf –basedir=/usr/local/webserver/mysql –datadir=/usr/local/webserver/mysql/data –user=mysql –pid-file=/usr/local/webserver/mysql/mysql.pid –skip-locking –port=3306 –socket=/tmp/mysql.sock
②、啟動MySQL(最后的&表示在后臺運行)
/bin/sh /usr/local/webserver/mysql/bin/mysqld_safe –defaults-file=/usr/local/webserver/mysql/my.cnf &
# useradd mysql -g mysql -M -s /bin/false
# ./configure --prefix=/web/mysql \ 指定安裝目錄
--without-debug \去除debug模式
--with-extra-charsets=gb2312 \添加gb2312中文字符支持
--enable-assembler \使用一些字符函數(shù)的匯編版本
--without-isam \去掉isam表類型支持 現(xiàn)在很少用了 isam表是一種依賴平臺的表
--without-innodb \去掉innodb表支持 innodb是一種支持事務(wù)處理的表,適合企業(yè)級應(yīng)用
--with-pthread \強制使用pthread庫(posix線程庫)
--enable-thread-safe-client \以線程方式編譯客戶端
--with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static \以純靜態(tài)方式編譯服務(wù)端和客戶端
# make
# make install
# scripts/mysql_install_db \生成mysql用戶數(shù)據(jù)庫和表文件
# cp support-files/my-medium.cnf /etc/my.cnf \copy配置文件,有l(wèi)arge,medium,small三個環(huán)境下的,根據(jù)機器性能選擇,如果負(fù)荷比較大,可修改里面的一些變量的內(nèi)存使用值
# cp support-files/mysql.server /etc/init.d/mysqld \copy啟動的mysqld文件
# chmod 700 /etc/init.d/mysqld
# cd /web
# chmod 750 mysql -R
# chgrp mysql mysql -R
# chown mysql mysql/var -R
# cd /web/mysql/libexec
# cp mysqld mysqld.old
# strip mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on
# service mysqld start
# netstat -atln
看看有沒有3306的端口打開,如果mysqld不能啟動,看看/web/mysql/var下的出錯日志,一般都是目錄權(quán)限沒有設(shè)置好的問題
# ln -s /web/mysql/bin/mysql /sbin/mysql
# ln -s /web/mysql/bin/mysqladmin /sbin/mysqladmin
# mysqladmin -uroot password "youpassword" #設(shè)置root帳戶的密碼
# mysql -uroot -p
# 輸入你設(shè)置的密碼
mysql>use mysql;
mysql>delete from user where password=""; #刪除用于本機匿名連接的空密碼帳號
mysql>flush privileges;
mysql>quit
--prefix=/data/app/mysql5123 --datadir=/data/mysqldata --sysconfdir=/data/app/mysql5123/etc --with-charset=utf8 --enable-assembler --without-isam --with-pthread --enable-thread-safe-client --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-extra-charsets=all --with-unix-socket-path=/data/app/mysql5123/tmp/mysql.sock
-------------------------------------------------------------------------------------
2、編譯安裝MySQL 5.0.45/Mysql4.0.26(現(xiàn)在以mysql5為例)
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
tar zxvf mysql-5.0.45.tar.gz
cd mysql-5.0.45
./configure –prefix=/usr/local/webserver/mysql/ –without-debug –with-unix-socket-path=/tmp/mysql.sock –with-client-ldflags=-all-static –with-mysqld-ldflags=-all-static –enable-assembler –with-extra-charsets=gbk,gb2312,utf8 –with-pthread –enable-thread-safe-client
make && make install
chmod +w /usr/local/webserver/mysql
chown -R mysql:mysql /usr/local/webserver/mysql
cp support-files/my-medium.cnf /usr/local/webserver/mysql/my.cnf
cd ../
附:以下為附加步驟,如果你想在這臺服務(wù)器上運行MySQL數(shù)據(jù)庫,則執(zhí)行以下兩步。如果你只是希望讓PHP支持MySQL擴展庫,能夠連接其他服務(wù)器上的MySQL數(shù)據(jù)庫,那么,以下兩步無需執(zhí)行。
①、以mysql用戶帳號的身份建立數(shù)據(jù)表:
/usr/local/webserver/mysql/bin/mysql_install_db –defaults-file=/usr/local/webserver/mysql/my.cnf –basedir=/usr/local/webserver/mysql –datadir=/usr/local/webserver/mysql/data –user=mysql –pid-file=/usr/local/webserver/mysql/mysql.pid –skip-locking –port=3306 –socket=/tmp/mysql.sock
②、啟動MySQL(最后的&表示在后臺運行)
/bin/sh /usr/local/webserver/mysql/bin/mysqld_safe –defaults-file=/usr/local/webserver/mysql/my.cnf &
本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u2/76272/showart_1161494.html |
|