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