目录:

--------mysql-5.7.13简介及安装

--------配置mysql-5.7.13的ssl加密传输

--------基于SSL加密传输实现mysql-5.7.13的主从复制

一、 Mysql5.7.13简介

1. Mysql5.7的主要优化

mysql5.7原生支持centos7.*版本的systemd更好的性能:对于多核CPU、固态硬盘、锁有着更好的优化更好的InnoDB存储引擎mysql5.6版本之后开始支持多线程去实现主从复制新增sys库:以后这会是DBA访问最频繁的库更好的优化器:优化器代码重构的意义将在这个版本及以后的版本中带来巨大的改进,Oracle官方正在解决MySQL之前最大的难题原生JSON类型的支持(JavaScript Object Notation)注:JSON(JavaScriptObject Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。1) JSON 语法是 JavaScript 对象表示语法的子集。数据在键值对中数据由逗号分隔花括号保存对象方括号保存数组用JSON编写的文件,可以代替.yaml格式的文件。(docker  kubernetes中用的到,创建RC。)

2. 在centos7.*安装mysql5.7的基本流程

1)Centos7.*默认安装了mariadb-libs数据库,需要卸载

2)确认内核版本和系统版本

3)安装依赖包

cmake:由于从MySQL5.5版本开始弃用了常规的configure编译方法,所以需要CMake编译器,用于设置mysql的编译参数。如:安装目录、数据存放目录、字符编码、排序规则等。Boost  #从MySQL 5.7.5开始Boost库是必需的,mysql源码中用到了C++的Boost库,要求必须安装boost1.59.0或以上版本GCC是Linux下的C语言编译工具,mysql源码编译完全由C和C++编写,所以必须安装GCCbison:Linux下C/C++语法分析器ncurses:字符终端处理库

4)创建mysql用户和用户组

5)创建mysql需要的目录

6)安装mysql5.7

7)优化数据库执行路径并初始化数据库

二、在centos7.2安装mysql5.7并进行优化配置

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

2. 首先安装依赖包及创建mysql用户、组和安装目录

确认系统有没有安装默认的数据库

先删除默认安装的mariadb-libs数据库

mysql用固态还是机械_mysql 主从配置 加密

Cmake(cmake需要gcc  gcc-c++  make automake  的支持)

mysql用固态还是机械_mysql 主从配置 加密_02

mysql用固态还是机械_数据库_03

mysql用固态还是机械_数据库_04

安装ncurses

mysql用固态还是机械_数据库_05

安装bison

mysql用固态还是机械_JSON_06

安装boost

mysql用固态还是机械_JSON_07

创建mysql需要的组和用户

mysql用固态还是机械_mysql 主从配置 加密_08

创建安装路径

mysql用固态还是机械_数据库_09

3. 安装mysql5.7.13

首先进行cmake配置

mysql用固态还是机械_JSON_10

然后编译并安装

mysql用固态还是机械_mysql用固态还是机械_11

优化mysql执行路径并设置授权并初始化mysql系统授权表

mysql用固态还是机械_mysql 主从配置 加密_12

mysql用固态还是机械_数据库_13

创建配置文件

mysql用固态还是机械_mysql用固态还是机械_14

mysql用固态还是机械_数据库_15

配置mysql自动启动

mysql用固态还是机械_数据库_16

首先去查看错误日志

mysql用固态还是机械_JSON_17

然后去查看/var/run下有没有mysqld这个目录

mysql用固态还是机械_mysql_18

下面修改mysqld服务脚本

mysql用固态还是机械_mysql用固态还是机械_19

再次重启mysql服务

mysql用固态还是机械_mysql用固态还是机械_20

修改mysql的默认密码

mysql用固态还是机械_mysql_21

到此mysql安装完毕

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

1. 首先在master创建ssl.rsa文件

mysql用固态还是机械_数据库_22

mysql用固态还是机械_mysql 主从配置 加密_23

2. 关于密钥权限出现的问题(必须解决)

重启mysqld服务(有时会报错,但是有时只能通过查看错误日志才能发现错误)

mysql用固态还是机械_mysql用固态还是机械_24

查看server-key.pem的权限

mysql用固态还是机械_mysql_25

修改权限并重启mysqld

mysql用固态还是机械_数据库_26

再次查看mysqld错误日志

mysql用固态还是机械_mysql用固态还是机械_27

3. 登录mysql查看是否支持了ssl

mysql用固态还是机械_mysql用固态还是机械_28

4. 在master生成一个用于mysql主从复制的账号

mysql用固态还是机械_JSON_29

5. 在master上启动二进制文件并重启服务

mysql用固态还是机械_数据库_30

mysql用固态还是机械_mysql 主从配置 加密_31

6. 查看master的状态

需要让从知道应该从master的什么位置开始进行主从复制

mysql用固态还是机械_mysql用固态还是机械_32

mysql用固态还是机械_JSON_33

7. 修改slave的my.cfg文件指定中继日志及中继日志清单的存放位置

mysql用固态还是机械_mysql_34

8. 将master生成的证书传送给slave

mysql用固态还是机械_数据库_35

9. 设置client-key.pem的r权限

mysql用固态还是机械_mysql_36

10. 在slave的配置文件中添加证书和密钥对存放的位置

mysql用固态还是机械_数据库_37

mysql用固态还是机械_数据库_38

重启后最好查看一下mysql的错误日志,是否出现了错误信息

11. 查看ssl是否被支持并进行测试

登录slave的数据库

mysql用固态还是机械_数据库_39

测试ssl连接是否成功

mysql用固态还是机械_mysql用固态还是机械_40

12. Mysql5.7的每个服务器都拥有一个独一的UUID号(扩展知识)

mysql用固态还是机械_mysql用固态还是机械_41

13. 在slave设置同步并且启用从功能

mysql用固态还是机械_mysql用固态还是机械_42

mysql用固态还是机械_JSON_43

14. 测试

首先在master创建数据库和表并插入数据

mysql用固态还是机械_mysql_44

然后在slave查看数据是否同步

mysql用固态还是机械_JSON_45