设为首页 收藏本站
查看: 2160|回复: 0

[经验分享] mysql5.7:mysql安装和基于SSL加密的主从复制(详细剖析)

[复制链接]

尚未签到

发表于 2018-10-9 09:48:47 | 显示全部楼层 |阅读模式
  小生博客:http://xsboke.blog.51cto.com
  小生 Q Q:1770058260
  -------谢谢您的参考,如有疑问,欢迎交流
  目录:
  --------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++编写,所以必须安装GCC


  •   bison: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
  http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
  2. 首先安装依赖包及创建mysql用户、组和安装目录
  确认系统有没有安装默认的数据库
  先删除默认安装的mariadb-libs数据库
DSC0000.jpg

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

DSC0002.jpg

DSC0003.jpg

  安装ncurses
DSC0004.jpg

  安装bison
DSC0005.jpg

  安装boost
DSC0006.jpg

  创建mysql需要的组和用户
DSC0007.jpg

  创建安装路径
DSC0008.jpg

  3. 安装mysql5.7.13
  首先进行cmake配置
DSC0009.jpg

  然后编译并安装
DSC00010.jpg

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

DSC00012.jpg

  创建配置文件
DSC00013.jpg

DSC00014.jpg

  配置mysql自动启动
DSC00015.jpg

  首先去查看错误日志
DSC00016.jpg

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

  下面修改mysqld服务脚本
DSC00018.jpg

  再次重启mysql服务
DSC00019.jpg

  修改mysql的默认密码
DSC00020.jpg

  到此mysql安装完毕
  三、实现基于ssl安全连接的主从复制
  1. 首先在master创建ssl.rsa文件
DSC00021.jpg

DSC00022.jpg

  2. 关于密钥权限出现的问题(必须解决)
  重启mysqld服务(有时会报错,但是有时只能通过查看错误日志才能发现错误)
DSC00023.jpg

  查看server-key.pem的权限
DSC00024.jpg

  修改权限并重启mysqld
DSC00025.jpg

  再次查看mysqld错误日志
DSC00026.jpg

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

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

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

DSC00030.jpg

  6. 查看master的状态
  需要让从知道应该从master的什么位置开始进行主从复制
DSC00031.jpg

DSC00032.jpg

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

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

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

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

DSC00037.jpg

  重启后最好查看一下mysql的错误日志,是否出现了错误信息
  11. 查看ssl是否被支持并进行测试
  登录slave的数据库
DSC00038.jpg

  测试ssl连接是否成功
DSC00039.jpg

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

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

DSC00042.jpg

  14. 测试
  首先在master创建数据库和表并插入数据
DSC00043.jpg

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



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-619436-1-1.html 上篇帖子: mysql加密解密方式用法 下篇帖子: Cmake-MySQL编译参数说明
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表