码迷,mamicode.com
首页 > 数据库 > 详细

使用源码方式安装mysql-5.5.25

时间:2014-11-12 02:11:34      阅读:363      评论:0      收藏:0      [点我收藏+]

标签:mysql     源码安装mysql

mysql的安装

对于某个软件的安装,一般有三种方式:

1、使用rpm来安装。这个软件包要以.rpm结尾才可以使用rpm包来安装。

2、使用通用二进制格式来安装。只不过使用这种安装方式该软件所支持的平台要对应起来才可。

3、使用源码方式来安装。这种方式可以来定制自己所需要的功能

在这里,本文使用源码方式来安装,linux系统平台为RHEL 5.8

 

编译安装MySQL-5.5

cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。


一、安装cmake

跨平台编译器

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

二、编译安装mysql-5.5.25a

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、编译安装

# groupadd -r mysql
# useradd -g mysql -r -d /data/mydata mysql
# tar xf mysql-5.5.25a.tar.gz
# cd mysql-5.5.25a
# 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

#ln -sv mysql-5.5.25a   mysql
#cd mysql

#chown -R  mysql:mysql  .

#scripts/mysql_install_db --user=mysql --datadir=/mydata/data   

(#以mysql的身份来初始化数据库并指定数据的存放位置)

#chown  -R  root   .  #(将mysql目录的属主改为root,防止mysql进程被攻破,将具有mysql的一切权限)

 

3、为mysql提供配置文件

#cd  /usr/local/mysql

#cp support-files/my-large.cnf  /etc/my.cnf

说明:这个目录下有多个配置文件,需要根据自己的内存来选择

这些配置文件有(在/usr/local/mysql/support-files目录下),my-small.cnf、my-medium.cnf、my-large.cnf、my-huge.cnf等等。我这里选择的是my-large.cnf作为我的配置文件

并且编辑/etc/my.cnf,找到[mysqld]的这一段落,修改thread_concurrency的值为你的CPU个数乘以2,比如这里使用如下行:

另外还需要添加如下行指定mysql数据文件的存放位置:
datadir = /mydata/data

 thread_concurrency = 2

 

在这里说明一下。mysql的配置文件有多个,因此mysql在加载配置文件的顺序是:

/etc/my.cnf---->/etc/mysql/my.cnf--->  $MYSQL_HOME/my.cnf-->defaults-extra-file=/path/to/file->~/.my.cnf

 如果头同一个变量出现在多个配置文件里,则以最近一次加载的文件为主

 

4、为mysql通过Sysv服务脚本

#cd /usr/local/mysql

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

#chmod +x  /etc/rc.d/init.d/mysqld

 

5、添加至服务列表

chkconfig  --add  mysqld

如果想让mysqld开机自动启动,可以使用chkconfig  mysqld   on命令来实现

本文出自 “linux学习之路” 博客,请务必保留此出处http://xslwahaha.blog.51cto.com/4738972/1575526

使用源码方式安装mysql-5.5.25

标签:mysql     源码安装mysql

原文地址:http://xslwahaha.blog.51cto.com/4738972/1575526

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!