mysql 主从配置 加密_MySQL:安装和基于SSL加密的主从复制(基于5.7)

小生博客:http://xsboke.blog.51cto.com

-------谢谢您的参考,如有疑问,欢迎交流

目录:

--------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数据库

ffad739d4896a3d7cfeed718a1f63f40.png

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

f241b1aef762dd38bc6e868f94ebd746.png

46b5966e2fb0e2c25c7c64a386a80613.png

02ce4deed4921241cca5b83abaa0b47c.png

安装ncurses

fcde07824c3fef8822b3e345d430c59a.png

安装bison

ba1c717b7ea61034583400de2fe8d735.png

安装boost

b566fd5f25ef2b1ad4119d7a299eb7ce.png

创建mysql需要的组和用户

62dc34a1f740f6dacd8338463a438178.png

创建安装路径

f8e879817e1cae3f7c3342f1f9a0dfbc.png

3. 安装mysql5.7.13

首先进行cmake配置

e31120a05dce116bc35f7de4b7c8c295.png

然后编译并安装

a7c128e6ea111ea0a2babe6bc0e9f0e7.png

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

3ad40af5a1a690854f402be0983bf795.png

903650af0ccbdba7fc31b1a644295376.png

创建配置文件

9be7bdc24eb181eb26474db44b6732a0.png

6eb84ff2207ab5009f1aa37a5c653ad6.png

配置mysql自动启动

2c1acbd917a31b9c90d4cdfcd63bc454.png

首先去查看错误日志

63f9f3fdec3504587b34524a84a20dbe.png

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

5d10154f3e53c08f5f1aab8977e7f918.png

下面修改mysqld服务脚本

12cd67f2bc151b19f987c0945cdd372b.png

再次重启mysql服务

27a4f86d2fac0f0e4934cc6325abfe5f.png

修改mysql的默认密码

d1aece10ef8b012cfe61898124cf47b3.png

到此mysql安装完毕

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

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

49cc1c8f1be67dc75d58a463ae3b911a.png

67b10677a12ae0c7059c42a84d63f22f.png

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

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

e54a7cc8dbcbff39f6b3b0f35872c3b4.png

查看server-key.pem的权限

1b282414f65432f8831f5c7ba20c33f7.png

修改权限并重启mysqld

0b1eaf148c16028518448649048745fb.png

再次查看mysqld错误日志

2876bd616e3897bac9e45652eefecc92.png

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

2318ba2bba5e03258f3a9be0165e4a74.png

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

cc37bc7e5b3f855148ba6b070db37ec0.png

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

6f10093c5f47a099e67105d223e61999.png

d5fac06f316ba4308d641839408f2169.png

6. 查看master的状态

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

d820d3f62b2c43d69e933679029f85c0.png

7e628e9ecacefe8814cbbb0bcbada015.png

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

d1987c54c339cb211510d93038742ac6.png

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

fe655c8435f558afdd2a3af004f3e051.png

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

ed24dda3c1d829e8276bffcf83049e85.png

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

61186a953966880a51389dfd2791569d.png

d049242d4ca99a74e644b7c1e1e78974.png

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

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

登录slave的数据库

c1c85f706faf200af1f6f1c42a7ec86d.png

测试ssl连接是否成功

d0c2d960a4eac9c5115c7bec7c4840a2.png

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

dc2c8db51022eca06cb735ecd156a252.png

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

89124f1727c516e2d054f36bf5df8043.png

227e08a1c023b3d139875b5f26cf8f92.png

14. 测试

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

abce961b3efcb69b30999df1ae128306.png

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

d7522e91d436b908f951684c76b9d02c.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值