博主QQ:819594300mysql
博客地址:http://zpf666.blog.51cto.com/sql
有什么疑问的朋友能够联系博主,博主会帮大家解答,谢谢支持!docker
另外本博文内使用的所有软件和文件,博友若有须要能够去我百度云分享下载,分享地址是:数据库
连接:http://pan.baidu.com/s/1bpaOqa7 密码:r2jscentos
1、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)。
2、安装mysql5.7.13
1、系统环境:centos7.2x86_64
注:由于centos7.2默认安装了mariadb-libs,因此先要卸载掉
先查看本系统是否安装mariadb
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
cmake –version ---查看cmake版本
安装ncurses
安装bison
安装bootst
3)建立mysql用户和用户组及目录
3、编译安装mysql并优化
解压mysql源码包:
注:若要从新运行cmake配置,须要删除CMakeCache.txt文件(即前面的配置、编译、安装后发现有错误,咱们这时候无须重头来只须要删除CMakeCache.txt文件)
优化Mysql的执行路径:
4、设置权限并初始化MySQL系统受权表
说明:(5.7.6版本之后的可采用安装模式或者可使用非安装模式)
以防万一,再次改一下属主和属组
5、建立配置文件
修改my.cnf配置文件:
6、配置mysql自动启动
访问MySQL数据库:
修改数据库管理员用户root的密码(随机密码每每很难记忆,咱们要修改为本身的密码)
7、实现基于ssl安全链接的主从复制
1)在主mysql建立SSL/RSA文件
那么在配置主从复制以前能够在从mysql上用SSL链接主服务器试试:
下面测试主从复制:
先在master上写入一些数据:
去slave上验证一下,数据是否同步:
以上同步成功。
总结:
SSL(Secure SocketsLayer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通讯提供安全及数据完整性的一种安全协议。复制默认是明文进行传输的,经过SSL加密能够大大提升数据的安全性。