MySQL编译安装

对于服务器软件安装,个人现在比较青睐源码编译安装的方式,虽然相较OS vendor 提供的二进制安装包,源码安装稍嫌麻烦,但却能够让你对安装过程有更多的控制,而且源码编译安装的方式是独立于发行版的,可以保持风格的统一。

 

这里采用mysql-5.5.33的版本。
一、编译 mysql 需要使用cmake。需要事先安装。
如果是编译安装cmake的话,步骤类似如下:#

# tar xf cmake-2.8.8.tar.gz
# cd cmake-2.8.8
# ./bootstrap
# make
# make install

二、编译安装mysql-5.5.33

1、使用cmake编译mysql-5.5的方法
cmake指定编译选项的方式不同于make,其实现方式对比如下:

./configure           cmake .
./configure --help    cmake . -LH or ccmake .

指定安装文件的安装路径时常用的选项

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/data/mysql
-DSYSCONFDIR=/etc


默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:

-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1

 

若要明确指定不编译某存储引擎,可以使用类似如下的选项:

-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1

比如

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1

 

如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库

-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0

其它常用的选项:

-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DENABLED_LOCAL_INFILE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_DEBUG=0
-DENABLE_PROFILING=1

 

如果想清理此前的编译所生成的文件,则需要使用如下命令:

#make clean
#rm CMakeCache.txt

2、编译安装

――创建mysql用户和组 

# groupadd -r mysql
# useradd -g mysql -r -s /sbin/nologin -d /mydata/data mysql

――创建mysql数据目录,即下面-DMYSQL_DATADIR=/mydata/data指定的目录   

# mkdir /mydata/data
# chown mysql:mysql /mydata/data

――解压源码并编译安装     

# tar xf mysql-5.5.33.tar.gz
# cd mysql-5.5.33
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mydata/data \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
# make
# make install

 

三 安装后配置
1、 

――切换到安装目录。
# cd /usr/local/mysql
――将安装目录下的所有文件属组改为mysql
# chown -R :mysql .
#执行mysql初始化脚本,注意初始化脚本得在安装目录下执行,否则要指定其它选项参数
#scripts/mysql_install_db --user=mysql --datadir=/mydata/data
――使用源码提供的模板配置文件作为进一步配置的基础
# cp support-files/my-large.cnf  /etc/my.cnf
――修改此文件中thread_concurrency的值为你的CPU个数乘以2,比如这里使用如下行:
thread_concurrency = 2
――在/etc/my.cnf中添加如下行指定mysql数据文件的存放位置:
datadir = /mydata/data
――为mysql提供sysv服务脚本
# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# chkconfig mysqld on


 为了使用mysql的安装符合系统使用规范,并将其开发组件导出给系统使用,这里还需要进行如下步骤:

编辑/etc/man.config 添加mysql的man文件路径
输出mysql的头文件至系统头文件路径/usr/include:
这可以通过简单的创建链接实现:
# ln -sv /usr/local/mysql/include  /usr/include/mysql
输出mysql的库文件给系统库查找路径:
#echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
而后让系统重新载入系统库:
# ldconfig
修改PATH环境变量

 

你可能感兴趣的:(mysql)