源码编译安装mysql
1、安装相关的软件包
cd /home/bill/tools/ tar xf cmake-2.8.8.tar.gz cd cmake-2.8.8 ./configure #CMake has bootstrapped. Now run gmake. gmake gmake install cd ../
2、安装依赖包
依赖包
如果需要可以换一下yum源:http://mirrors.aliyun.com/help/centos yum install ncurses-devel -y
yum -y install gcc gcc-c++ git
yum -y install autoconf
3、开始安装mysql
创建用户和组 groupadd mysql useradd mysql -s /sbin/nologin -M -g mysql
解压编译MySQL tar zxf mysql-5.5.32.tar.gz cd mysql-5.5.32 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \ -DENABLED_LOCAL_INFILE=ON \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ -DWITHOUT_PARTITION_STORAGE_ENGINE=0 \ -DWITH_FAST_MUTEXES=1 \ -DWITH_ZLIB=bundled \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_READLINE=1 \ -DWITH_EMBEDDED_SERVER=1 \ -DWITH_DEBUG=0
##-DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock \##
有的时候此时会比较怪异,可能需要将解压完后的包删除重新解压,然后执行上面的编译。
make && make install
4、配置
1)设置目录权限
cd /usr/local/mysql
chown -R root:mysql . //把当前目录中所有文件的所有者设为root,所属组为mysql
chown -R mysql:mysql data
3)将mysql的启动服务添加到系统服务中
cp support-files/mysql.server /etc/init.d/mysql
2)创建系统数据库的表
注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!
注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。
在使用"yum update"更新系统后,需要检查下/etc目录下是否会多出一个my.cnf,如果多出,将它重命名成别的。否则,MySQL将使用这个配置文件启动,可能造成无法正常启动等问题。这个可以参考最下面。
#scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
4)启动服务
chkconfig mysql on service mysql start --启动MySQL
5)设置环境变量
vi /root/.bash_profile
在PATH=$PATH:$HOME/bin添加参数为: PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH:$HOME/bin
不关机立即生效
source /root/.bash_profile
==========================================================================================================================================
mysql5.1.72编译
./configure \ --prefix=/application/mysql5.1.72 \ --with-unix-socket-path=/application/mysql5.1.72/tmp/mysql.sock \ --localstatedir=/application/mysql5.1.72/data \ --enable-assembler \ --enable-thread-safe-client \ --with-mysqld-user=mysql \ --with-big-tables \ --without-debug \ --with-pthread \ --enable-assembler \ --with-extra-charsets=complex \ --with-readline \ --with-ssl \ --with-embedded-server \ --enable-local-infile \ --with-plugins=partition,innobase \ --with-mysqld-ldflags=-all-static \ --with-client-ldflags=-all-static #--with-plugin-PLUGIN \
出现的问题:
checking for termcap functions library... configure: error: No curses/termcap library found yum -y install ncurses-devel
下面的这种情况可以查看上面的4.2
cp support-files/my-medium.cnf /etc/my.cnf
将mysql的配置文件copy到/etc目录下,并更名为my.cnf
my-small.cnf 最小配置安装,内存<=64M,数据数量最少
my-large.cnf 内存=512M
my-medium.cnf 32M<内存<64M,或者内存有128M,但是数据库与web服务器公用内存
my-huge.cnf 1G<内存<2G,服务器主要运行mysql
my-innodb-heavy-4G.cnf 最大配置安装,内存至少4G
参考,my.cnf
http://www.ha97.com/3455.html
http://www.cnblogs.com/fly1988happy/archive/2011/11/21/2257682.html