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. http请求头和响应头详细解释

    想对http请求头和响应头有更细致的了解,请看如下 Requests部分 Header 解释 示例 Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/htm ...

  2. 使用object_box遇到的崩溃 java.lang.UnsatisfiedLinkError:

    java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/ ...

  3. PHP远程连接mysql报错处理办法

    在万网弄了个虚拟主机,想远程连mysql调试(本地4G如果开mysql内存不够!),一直报错: mysqlnd cannot connect to MySQL 4.1+ using the old i ...

  4. 配置多个ssh-key

    搞了三天没搞出来,还在男朋友面前哭了一场,真心觉得我只该吃屎,我好没用.哎.. 首先在上一篇记录了如何生成ssh-key,并使本地可以通过ssh的方式克隆和推送项目.但如果你有个github账号,有个 ...

  5. [转]编译防火墙——C++的Pimpl惯用法解析

    impl(pointer to implementation, 指向实现的指针)是一种常用的,用来对“类的接口与实现”进行解耦的方法.这个技巧可以避免在头文件中暴露私有细节(见下图1),因此是促进AP ...

  6. QByteArray储存二进制数据(包括结构体,自定义QT对象)

    因为利用QByteArray可以很方便的利用其API对内存数据进行访问和修改, 构建数据库blob字段时必不可少; 那如何向blob内写入自定义的结构体和类 //自定义person结构体 typede ...

  7. 建立ARM交叉编译环境 (arm-none-linux-gnueabi-gcc with EABI)【转】

    转自:http://lib.csdn.net/article/embeddeddevelopment/60172?knId=886 建立ARM交叉编译环境 (arm-none-linux-gnueab ...

  8. 使用netcat的正向 / 反向shell

    reverse shell bind shell reverse shell描述图: 在此示例中,目标使用端口4444反向连接攻击主机.-e选项将Bash shell发回攻击主机.请注意,我们也可以在 ...

  9. ansible批量修改linux服务器密码的playbook

    从网上找到批量修改Linux服务器root密码的playbook. 使用方法: 1.输入要修改的inventory组 2.按需要,在playbook中输入要修改的IP.新密码,如下: - hosts: ...

  10. Pytorch多进程最佳实践

    预备知识 模型并行( model parallelism ):即把模型拆分放到不同的设备进行训练,分布式系统中的不同机器(GPU/CPU等)负责网络模型的不同部分 —— 例如,神经网络模型的不同网络层 ...