mysql5.6.12源码编译安装详解

mysql5.6 特性简介

MySQL 5.6 显著提高了性能和可用性,可支持下一代 Web、嵌入式和云计算应用程序。

MySQL Database 5.6 具备以下特性:

 新增! 在线 DDL /更改数据架构支持动态应用程序和开发人员灵活性;

 新增! 复制全局事务标识可支持自我修复式集群;

 新增! 复制无崩溃从机可提高可用性;

 新增! 复制多线程从机可提高性能;

 新增! 对 InnoDB 进行 NoSQL 访问,可快速完成键值操作以及快速提取数据来完成大数据部署;

 改进! 在 Linux 上的性能提升多达 230%;

 改进! 在当今、多核、多 CPU 硬件上具备更高的扩展力;

 改进! InnoDB 性能改进,可更加高效地处理事务和只读负载;

 改进! 更快速地执行查询,增强的诊断功能;

 改进! Performance Schema 可监视各个用户/应用程序的资源占用情况;

 改进! 通过基于策略的密码管理和实施来确保安全性;

 高度可靠,几乎无需干预即可确保系统持续不间断运行;

 简便易用,只需 3 分钟即可完成从下载到开发环境的安装和配置过程;

 管理需求低,数据库维护工作非常少;

 复制功能 支持灵活的拓扑架构,可实现向外扩展和高可用性;

 分区 有助于提高性能和管理超大型数据库环境;

 ACID 事务 支持构建安全可靠的关键业务应用程序;

 存储过程 可提高开发人员效率;

 触发器 可在数据库层面实施复杂的业务规则;

 View 可确保敏感信息不受攻击;

 Information Schema 有助于方便地访问元数据;

 插入式存储引擎架构 可最大限度发挥灵活性;


1.安装简介


1.1:安装环境

uname -a

Linux kkk 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux


more /etc/redhat-release

CentOS release 6.2 (Final)


1.2:用户和目录环境

用户名:mysql

安装目录:/mysql

数据库目录:/data/3306

安装文件存放目录:/workspace

源码包:mysql-5.6.12.tar.gz


1.3:安装准备


准备工作:


新建用户和用户组

chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow

groupadd mysql

useradd -g mysql mysql -s /sbin/nologin

chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow

建立安装目录

mkdir /mysql

mkdir -p /data/3306

mkdir /workspace

mkdir -p /data/3306/mylog/

mkdir -p /data/3306/data

cd /data/

chown -R mysql.mysql 3306

2:安装依赖软件包


2.1

yum源安装

yum upgrade

yum -y install  gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake  bison  libncurses.so.5 ld-linux.so.2


#下面是mysql依赖的一些软件包,都是最新的稳定版,官方推荐安装;


2.2 安装cmake

#CMAKE是一个跨平台的编译工具,C代表 CROSS-PLATFORM。

wget http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz

tar -zxvf cmake-2.8.11.tar.gz  

cd cmake-2.8.11

./configure

gmake && make install


2.3 安装m4

#GNU M4是传统的UNIX宏处理器的一个实现。GNU M4还具有内置的功能包括文件,运行shell命令,做算术等

wget http://ftp.gnu.org/gnu/m4/m4-1.4.16.tar.gz

tar -zxvf m4-1.4.16.tar.gz

cd m4-1.4.16

./configure

make && make install


2.4 安装Bison

Bison 软件包包括一个语法分析程序生成器,这个包可以通过YUM安装。

wget http://ftp.gnu.org/gnu/bison/bison-2.5.tar.gz

tar zxvf bison-2.5.tar.gz

cd bison-2.5

./configure

make && make install



3.5 安装libevent

libevent是一个异步事件处理软件函式库,以BSD许可证发布。

libevent提供了一组应用程序编程接口(API),让程式设计师可以设定某些事件发生时所执行的函式,也就是说,libevent可以用来取代网络服务器所使用的事件循环检查框架。

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

tar zxvf libevent-2.0.21-stable.tar.gz

cd libevent-2.0.21-stable

./configure

make && make install


2.6 安装OpenSSL

OpenSSL是套开放源代码的SSL套件,其函式库是以C语言所写成,实作了基本的传输层资料加密功能。

wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz


tar xvf openssl-1.0.1e.tar.gz

cd openssl-1.0.1e

./config

make && make install


2.7 升级OpenSSH(可选)

OpenSSH是一个SSH的连接工具,是互联网的技术人员所依赖的必不可少的工具。系统默认版本有漏洞,推荐升级。

安装配置步骤参考如下:

http://michaelkang.blog.51cto.com/1553154/890100


3.mysql5.6.12安装部署


configdir=/data/3306


datadir=/data/3306/data


basedir=/mysql


3.1 下载软件包


wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.12.tar.gz


tar -xvf mysql-5.6.12.tar.gz

cd mysql-5.6.12


#编译

cmake -DCMAKE_INSTALL_PREFIX=/mysql \

-DMYSQL_DATADIR=/data/3306/data \

-DSYSCONFDIR=/data/3306 \

-DSYSCONFDIR=/data/3306/my.cnf

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \

-DMYSQL_TCP_PORT=3306 \

-DWITH_DEBUG=0 \

-DENABLED_LOCAL_INFILE=1


#安装

make && make install


make -j 2 && make install

注:-j 用来指定CPU核心数,可加快编译速度,不加也可以。


#选择配置文件

注:在/usr/local/src/mysql-5.5.21/support-files/文件夹中有多个my-****.cnf 配置文件,具体用那一个配置文件根据自己实际情况。可以通过查看配置文件的头部信息来了解配置问价适合的配置。例如

cp support-files/my-*.cnf /data/3306/my.cnf


#修改mysql服务器启动关闭文件

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

chmod +x /etc/init.d/mysqld

#修改启动脚本内容,制定程序和数据目录

sed -i "46s/basedir=/basedir=\/mysql/" /etc/init.d/mysqld

sed -i "47s/datadir=/datadir=\/data\/3306\/data/" /etc/init.d/mysqld


#添加mysql环境变量

echo "export PATH=/mysql/bin:$PATH">>/etc/profile

source /etc/profile


#修改mysql目录权限

chown -R mysql:mysql /mysql

cd /data

chown -R mysql:mysql 3306


#初始化数据库

/mysql/scripts/mysql_install_db --user=mysql --basedir=/mysql --datadir=/data/3306/data  --defaults-file=/data/3306/my.cnf



#添加服务自启动

chkconfig --level 35 mysqld on


#启动|关闭|重启数据库

service mysql start|stop|restart




#修改mysql其它无用的配置文件名称,防止读取非指定配置文件;


mv /etc/my.cnf/etc/my.cnf.bak

mv /mysql/mysql-test/suite/rpl_ndb/my.cnf /mysql/mysql-test/suite/rpl_ndb/my.cnf.bak

mv /mysql/mysql-test/suite/ndb_rpl/my.cnf /mysql/mysql-test/suite/ndb_rpl/my.cnf.bak

mv /mysql/mysql-test/suite/rpl/my.cnf/mysql/mysql-test/suite/rpl/my.cnf.bak

mv /mysql/mysql-test/suite/rpl/extension/bhs/my.cnf /mysql/mysql-test/suite/rpl/extension/bhs/my.cnf.bak

mv /mysql/mysql-test/suite/ndb/my.cnf/mysql/mysql-test/suite/ndb/my.cnf.bak

mv /mysql/mysql-test/suite/ndb_team/my.cnf mv /mysql/mysql-test/suite/ndb_team/my.cnf.bak

mv /mysql/mysql-test/suite/ndb_big/my.cnf/mysql/mysql-test/suite/ndb_big/my.cnf.bak

mv /mysql/mysql-test/suite/ndb_binlog/my.cnf /mysql/mysql-test/suite/ndb_binlog/my.cnf.bak

mv /mysql/mysql-test/suite/federated/my.cnf /mysql/mysql-test/suite/federated/my.cnf.bak

mv /mysql/mysql-test/suite/ndb_team/my.cnf/mysql/mysql-test/suite/ndb_team/my.cnf.bak



故障排查

[root@master 3306]# /mysql/scripts/mysql_install_db --user=mysql --basedir=/mysql --datadir=/data/3306/data  --defaults-file=/data/3306/my.cnf

Filling help tables...2013-08-21 00:30:15 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).


在my.ini mysqld 下添加 explicit_defaults_for_timestamp=true



编译安装

http://www.linuxfromscratch.org/blfs/view/svn/server/mysql.html


官网安装介绍

http://dev.mysql.com/doc/refman/5.6/en/binary-installation.html


从MySQL 5.5升级到5.6

http://dev.mysql.com/doc/refman/5.6/en/upgrading-from-previous-series.html


主从配置

http://www.linuxidc.com/Linux/2013-04/82712.htm

详细

http://www.linuxidc.com/Linux/2013-05/84785.htm


你可能感兴趣的:(源码,mysql,安装部署,编译,5.6.12)