添加mysql组和mysql用户
[root@centos mysql]# groupadd mysql
[root@centos mysql]# useradd -g mysql mysql
编译与安装
tar -zxvf mysql-5.1.35.tar.gz
./configure \
--prefix=/usr/local/mysql \
--localstatedir=/data/mysql/data \ mysql数据目录
--enable-assembler \ 允许使用汇编模式(优化性能)
--with-unix-socket-path=/tmp/mysql.sock 使用unix套接字链接提高
--enable-thread-safe-client \以线程方式编译客户端 线程安全
--with-client-ldflags=-all-static \ 以纯静态方式编译客户端
--with-mysqld-ldflags=-all-static 以纯静态方式编译服务端
--with-plugins=partition,innobase 支持引擎
--with-charset=utf8
--with-collation=utf8_general_ci
--with-extra-charsets=all
--with-big-tables 支持大数据库表
--without-debug 去除debug模式
chmod +w /opt/mysql
chown -R mysql:mysql /opt/mysql/
/opt/mysql/bin/mysql_install_db --user=mysql
/opt/mysql/bin/mysqld_safe --user=mysql &
mkdir /usr/local/mysql/var
mkdir /var/run/mysqld
chmod +w /usr/local/mysql/
chown -R mysql:mysql /usr/local/mysql/
chown -R mysql:mysql /var/run/mysqld
cp /usr/local/mysql/share/mysql/my-innodb-heavy-4G.cnf /etc/my.cnf
以mysql用户初始化数据库表
/usr/local/mysql/bin/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/data --user=mysql
--datadir=/data/mysql/data 定义mysql数据存放目录
注意:如果把数据目录定义到其它目录里,得先修改/etc/my.cnf文件,加上以下二行
[mysqld]
# generic configuration options
port = 3306
socket = /tmp/mysql.sock
# wb config
basedir = /usr/local/mysql 字义mysql程序目录
datadir = /data1/mysql/data 定义数据目录
在对数据库进行初始化表,不然mysql数据库启动会报错.
启动mysql服务
/usr/local/mysql/bin/mysqld_safe --user=mysql --datadir=/data/mysql/data (指定数据库目录)
/usr/local/mysql/bin/mysqld_safe --user=mysql 2>&1 > /dev/null &
1. -static 13%
--with-client-ldflags=-all-static
--with-mysqld-ldflags=-all-static
静态链接提高13%性能
CFLAGS="-O3 -mpentiumpro -mstack-align-double" CXX=gcc \
CXXFLAGS="-O3 -mpentiumpro -mstack-align-double \
-felide-constructors -fno-exceptions -fno-rtti"
如果是Inter处理器,使用pgcc提高1%性能
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
使用unix套接字链接提高7.5%性能,所以在windows下mysql性能肯定不如unix下面
允许使用汇编模式(优化性能)
下面是总体的编译文件
编译代码
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的过程中提示:
/bin/rm: cannot remove `libtoolt': No such file or directory
解决:
1、确认libtool是否已经安装,如果没有安装的话,则先安装libtool
# yum -y install libtool
2、分别执行以下三条命令:
# autoreconf --force --install
# libtoolize --automake --force
# automake --force --add-missing
















