CentOS 编译源码安装MySQL-5.6.16

mysql5.6.16的安装和之前的5.5、5.1有些不同,编译的时候不再使用./configure来进行了,使用了cmake命令来进行编译项目。

1、准备编译环境

yum -y installmakegcc-c++ cmake bison-devel  ncurses-devel gcc \
       autoconf automake zlib* fiex* libxml* libmcrypt* libtool-ltdl-devel*

2、下载mysql

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16.tar.gz
tar -zxvf mysql-5.6.16.tar.gz
cd mysql-5.6.16

3、检查环境

检查是否安装有mysql,CentOS6.4采用最小安装(minimal)的时候默认有带mysql,检查并协助mysql:

rpm -qa | grep mysql

卸载:yum -y remove mysql名称


3.1、groupadd mysql  #添加mysql组

3.2、useradd -g mysql mysql -s /bin/false  #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统

3.3、mkdir -p /data/mysql      #创建mysql数据库存放目录

3.4、chown -R mysql:mysql /data/mysql#设置mysql数据库目录权限

3.5、mkdir -p /usr/local/mysql    #创建mysql安装目录


4、编译源码

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLE_DOWNLOADS=1



注意,这个cmake是替代以前的./configure 步骤。如果你需要更多的参数,请参考http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html
有时候会出现类似的问题。

Googlemock was not found. gtest-based unit tests will be disabled. You can run cmake . -DENABLE_DOWNLOADS=1 to automatically download and build required components from source.
– If you are inside a firewall, you may need to use an http proxy: export http_proxy=http://example.com:80

  • 使用参数-DENABLE_DOWNLOADS=1 自动下载。
  • 有网络限制,设置http代理export http_proxy=http://example.com:80。环境变量http_proxy 也为 curl 等其他工具所用。尽管 yum 可以识别大写或小写的 http_proxy,但curl 要求环境变量的名称是小写。

如果这个cmake这个步骤有出现问题,解决后重新再cmake一次。如果输出类似这样,那么就好了。

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
-- Running cmake version 2.6.4
-- MySQL 5.6.16
-- Packaging as: mysql-5.6.16-Linux-x86_64
-- HAVE_VISIBILITY_HIDDEN
-- HAVE_VISIBILITY_HIDDEN
-- HAVE_VISIBILITY_HIDDEN
-- Using cmake version 2.6.4
-- Not building NDB
-- Library mysqlclient depends on OSLIBS -lpthread;m;rt;dl
-- GMOCK_SOURCE_DIR:/root/mysql-5.6.16/source_downloads/gmock-1.6.0
-- GTEST_LIBRARIES:gmock;gtest
-- Library mysqlserver depends on OSLIBS -lpthread;m;rt;crypt;dl
-- Configuring done
-- Generating done
-- Build files have been written to: /root/mysql-5.6.16

接着编译源码

1
make&& makeinstall

配置mysql数据库

1、cd /usr/local/src/mysql-5.0.41

     cp ./support-files/my-huge.cnf   /etc/my.cnf    #拷贝配置文件

     vi /etc/my.cnf#编辑配置文件,在[mysqld]部分添加 

     datadir = /data/mysql    #添加mysql数据库路径

     ./scripts/mysql_install_db   --user=mysql #生成mysql系统数据库

    cp ./support-files/mysql.server   /etc/rc.d/init.d/mysqld   #把mysql加入系统启动

     chmod 755 /etc/init.d/mysqld    #增加执行权限

2、chkconfig mysqld on  #加入开机启动

vi /etc/rc.d/init.d/mysqld #编辑添加mysql安装路径和数据库存放目录

basedir = /usr/local/mysql

datadir = /data/mysql 

3、vi /etc/profile #把mysql服务加入系统环境变量:最后添加下面这行

export PATH = $PATH:/usr/local/mysql/bin

shutdown -r now   #需要重新启动,等系统重启后继续下面操作

4、mysql_secure_installation#设置mysql密码,根据提示输入y 回车输入2次密码

或者直接修改密码  /usr/local/mysql/bin/mysqladmin -u root -p password "123456"   #修改密码

service mysqld restart    #重启服务

到此,mysql安装完成!

5、如果想在任一目录下输入mysql -u root -p 进入mysql命令行,需要在每个用户变量里配置。

linux在每个用户下面都有个.bash_profile的用户变量文件,将mysql的bin目录路径添加到该用户变量的PATH后面。如:

vi /root/.bash_profile

添加如下:

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin/

此时在任一目录下输入mysql -u root -p密码  就能进入mysql命令了。

6、mysql的驱动存放位置:jdk主目录/jre/lib/ext/


posted @ 2014-09-16 15:07  問天  阅读(241)  评论(0编辑  收藏  举报