博主QQ:819594300

博客地址:http://zpf666.blog.51cto.com/

有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持!

另外本博文内使用的全部软件和文件,博友如有需要可以去我百度云分享下载,分享地址是:

链接:http://pan.baidu.com/s/1bpaOqa7 密码:r2js

一、MySQL 5.7主要特性:

原生支持Systemd

更好的性能:对于多核CPU、固态硬盘、锁有着更好的优化

更好的InnoDB存储引擎

更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL数据库。

注:从mysql5.6.3版本开始就已经支持了多线程的主从复制

新增sys库:以后这会是DBA访问最频繁的库

更好的优化器:优化器代码重构的意义将在这个版本及以后的版本中带来巨大的改进,Oracle官方正在解决MySQL之前最大的难题原生JSON类型的支持(JavaScript Object Notation)

注:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

JSON 语法是 JavaScript 对象表示语法的子集。

数据在键值对中

数据由逗号分隔

花括号保存对象

方括号保存数组

用JSON编写的文件,可以代替.yaml格式的文件。(docker  kubernetes中用的到,创建RC)。

二、安装mysql5.7.13

1、系统环境:centos7.2x86_64

centos7.2安装mysql5.7.13_第1张图片

:因为centos7.2默认安装了mariadb-libs,所以先要卸载掉

先查看本系统是否安装mariadb

centos7.2安装mysql5.7.13_第2张图片

2、安装依赖包

注: 相关依赖包的作用

cmake:由于从MySQL5.5版本开始弃用了常规的configure编译方法,所以需要CMake编译器,用于设置mysql的编译参数。如:安装目录、数据存放目录、字符编码、排序规则等。

Boost:从MySQL 5.7.5开始Boost库是必需的,mysql源码中用到了C++的Boost库,要求必须安装boost1.59.0或以上版本

GCC:是Linux下的C语言编译工具,mysql源码编译完全由C和C++编写,要求必须安装GCC

bison:Linux下C/C++语法分析器

ncurses:字符终端处理库

1)安装文件准备

下载cmake-3.5.tar.gz       http://wwwNaNake.org/download/

下载ncurses-5.9.tar.gz    ftp://ftp.gnu.org/gnu/ncurses/

下载bison-3.0.4.tar.gz    http://ftp.gnu.org/gnu/bison/

下载mysql-5.7.13.tar.gz

wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.13.tar.gz

下载Boost_1_59_0.tar.gz

wget  http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

2)安装CMAKE及必要的软件

安装cmake

centos7.2安装mysql5.7.13_第3张图片

cmake –version ---查看cmake版本

wKioL1jRHRiQt2x8AAC1roJ1PWw682.jpg

安装ncurses

wKioL1jRHRmhuy_SAAEVi3ZvrQA401.jpg

安装bison

wKiom1jRHRnQCG1-AAEKc8rh6DU218.jpg

安装bootst

wKioL1jRHRry4z31AAE8mBVBLbo858.jpg

3)创建mysql用户和用户组及目录

centos7.2安装mysql5.7.13_第4张图片

centos7.2安装mysql5.7.13_第5张图片

3、编译安装mysql并优化

解压mysql源码包:

centos7.2安装mysql5.7.13_第6张图片

centos7.2安装mysql5.7.13_第7张图片

:若要重新运行cmake配置,需要删除CMakeCache.txt文件(即前面的配置、编译、安装后发现有错误,我们这时候无须重头来只需要删除CMakeCache.txt文件)

centos7.2安装mysql5.7.13_第8张图片

优化Mysql的执行路径:

wKiom1jRHR6C9z7XAAB2XLFLGyY417.jpg

centos7.2安装mysql5.7.13_第9张图片

wKioL1jRHR_iPNNSAAClfdCrusg272.jpg

4、设置权限并初始化MySQL系统授权表

centos7.2安装mysql5.7.13_第10张图片

说明:(5.7.6版本以后的可采用安装模式或者可以使用非安装模式)

centos7.2安装mysql5.7.13_第11张图片

以防万一,再次改一下属主和属组

wKioL1jRHSLQuIMoAACcrXX2Y_A782.jpg

5、创建配置文件

centos7.2安装mysql5.7.13_第12张图片

修改my.cnf配置文件:

wKioL1jRHSKyq-glAAByWHXpkfE474.jpg

centos7.2安装mysql5.7.13_第13张图片

6、配置mysql自动启动

centos7.2安装mysql5.7.13_第14张图片

centos7.2安装mysql5.7.13_第15张图片

centos7.2安装mysql5.7.13_第16张图片

wKioL1jRHS3S8FM2AACBPHXVIUU496.jpg

centos7.2安装mysql5.7.13_第17张图片

centos7.2安装mysql5.7.13_第18张图片

centos7.2安装mysql5.7.13_第19张图片

wKioL1jRHT-RxmZLAAD-ktRfBAA391.jpg

访问MySQL数据库:

centos7.2安装mysql5.7.13_第20张图片

修改数据库管理员用户root的密码(随机密码往往很难记忆,我们要修改成自己的密码)

wKiom1jRHU2iK5rKAAG1C49n9H0632.jpg

7、实现基于ssl安全连接的主从复制

1)在主mysql创建SSL/RSA文件

centos7.2安装mysql5.7.13_第21张图片

centos7.2安装mysql5.7.13_第22张图片

centos7.2安装mysql5.7.13_第23张图片

centos7.2安装mysql5.7.13_第24张图片

centos7.2安装mysql5.7.13_第25张图片

centos7.2安装mysql5.7.13_第26张图片

centos7.2安装mysql5.7.13_第27张图片

centos7.2安装mysql5.7.13_第28张图片

centos7.2安装mysql5.7.13_第29张图片

centos7.2安装mysql5.7.13_第30张图片

centos7.2安装mysql5.7.13_第31张图片

centos7.2安装mysql5.7.13_第32张图片

centos7.2安装mysql5.7.13_第33张图片

centos7.2安装mysql5.7.13_第34张图片

centos7.2安装mysql5.7.13_第35张图片

centos7.2安装mysql5.7.13_第36张图片

centos7.2安装mysql5.7.13_第37张图片

centos7.2安装mysql5.7.13_第38张图片

centos7.2安装mysql5.7.13_第39张图片

centos7.2安装mysql5.7.13_第40张图片

centos7.2安装mysql5.7.13_第41张图片

centos7.2安装mysql5.7.13_第42张图片

centos7.2安装mysql5.7.13_第43张图片

centos7.2安装mysql5.7.13_第44张图片

那么在配置主从复制之前可以在从mysql上用SSL连接主服务器试试:

centos7.2安装mysql5.7.13_第45张图片

centos7.2安装mysql5.7.13_第46张图片

centos7.2安装mysql5.7.13_第47张图片

wKiom1jRHgTDKt9VAADt2RqGy1s150.jpg

centos7.2安装mysql5.7.13_第48张图片

centos7.2安装mysql5.7.13_第49张图片

centos7.2安装mysql5.7.13_第50张图片

centos7.2安装mysql5.7.13_第51张图片

centos7.2安装mysql5.7.13_第52张图片

centos7.2安装mysql5.7.13_第53张图片

下面测试主从复制:

先在master上写入一些数据:

centos7.2安装mysql5.7.13_第54张图片

去slave上验证一下,数据是否同步:

centos7.2安装mysql5.7.13_第55张图片

centos7.2安装mysql5.7.13_第56张图片

以上同步成功。

总结:

SSL(Secure SocketsLayer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。复制默认是明文进行传输的,通过SSL加密可以大大提高数据的安全性。