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/


CentOS 编译源码安装MySQL-5.6.16的更多相关文章

  1. Centos7服务器中通过编译源码安装MySQL

    基于在Centos7服务器上使用 yum 安装MySQL5.7到默认路径 在修改文件存储位置的时候,折腾了一番没有将成功将datadir修改为我想要的位置 我决定再尝试一下通过编译源码来自定义安装: ...

  2. CentOS下源码安装MySQL

    一.创建mysql用户与组,相关目录 useradd mysql -s /sbin/nologin mkdir /usr/local/mysql chown -R mysql.mysql mkdir ...

  3. centos 7 源码安装 mysql 5.6

    下载 mysql 安装包 $ wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.44.tar.gz # or $ curl -O ht ...

  4. centos 6x系统下源码安装mysql操作记录

    在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配.可以通过源 ...

  5. CentOS 7下源码安装MySQL 5.7

    网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点 ...

  6. CentOS 6.4 源码安装MySQL 5.6

    1.安装前准备工作 1.1 必备的包 gcc/g++ :MySQL 5.6开始,需要使用g++进行编译.cmake :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本. ...

  7. Centos7源码安装mysql及读写分离,互为主从

       Linux服务器 -源码安装mysql 及读写分离,互为主从   一.环境介绍: Linux版本: CentOS 7 64位 mysq版本: mysql-5.6.26 这是我安装时所使用的版本, ...

  8. CentOS下源码安装Apache2.4+PHP5.4+MySQL5.5

    一.准备(把所有的源文件放在‘/home/yuanjun’目录下) apr http://mirror.bjtu.edu.cn/apache/apr/apr-1.4.6.tar.gz apr-util ...

  9. 源码安装mysql,及主从同步

    源码安装mysql [可选] 如果用源码安装cmake软件: cd /home/oldboy/tools/ tar xf cmake-.tar.gz cd cmake- ./configure #CM ...

随机推荐

  1. Vue 的style绑定显示background-image

    data () { return { img: require('你的json资源路径') } } :style="{backgroundImage: 'url(' + img + ')'} ...

  2. 【转】Elastic日报 第576期 (2019-04-05)

    1.Elasticsearch性能测试实践http://t.cn/EiRzFiI2.监控Elasticsearch的插件推荐http://t.cn/EiRzFix3.支持机器数据的可扩展Elastic ...

  3. jquery如何获取input(file)控件上传的图片名称,即"11111.jpg"

    html代码:<input name=file" type="file" id="file"/> Jquery代码:var file;$( ...

  4. Python入门系列教程(六)面向对象

    1.self 所谓的self,可以理解为自己,可以把它当做C++中类里面的this指针一样理解,就是对象自身的意思,在用某个对象调用该方法时,就将该对象作为第一个参数传递给self. 2.class ...

  5. Java写的数据库连接池

    原文地址: http://lgscofield.iteye.com/blog/1820521 import java.sql.*; import java.util.Enumeration; impo ...

  6. ArcGis10.1 Feature Class Properties无法编辑

    被这个问题困扰了很久,最后从官网帮助中查询到资料解决了 先看一下截图: 这种问题一般是FratureClass被锁,被mxd引用,并且发布服务有实例在运行,但我新创建一个FeatureClass也无法 ...

  7. 【BZOJ】2208 [Jsoi2010]连通数

    [题意]给定n个点的有向图,求可达点对数(互相可达算两对,含自身).n<=2000. [算法]强连通分量(tarjan)+拓扑排序+状态压缩(bitset) [题解]这题可以说非常经典了. 1. ...

  8. Java编程思想 4th 第2章 一切都是对象

    Java是基于C++的,但Java是一种更纯粹的面向对象程序设计语言,和C++不同的是,Java只支持面向对象编程,因此Java的编程风格也是纯OOP风格的,即一切都是类,所有事情通过类对象协作来完成 ...

  9. excel导入时候日期格式转成date

    最近在做导入的时候发现,excel中设置数值格式是不能有日期的那些符号出现的,/ - : 之类的,否则就会变成数字到了java后台,设置成日期,比如 yyyy-mm-dd 到了后台也是数字,即距离19 ...

  10. ModelState验证部分属性

    ModelState.Remove("Name") 去掉不需要验证的属性.