centos7

二进制安装MySQL5.7

1、先卸载掉mariadb

把从官网下载下来的二进制包解压

官方二进制安装包位置:https://dev.mysql.com/downloads/mysql/

解压完成之后移动到/usr/local下并取名叫mysql

创建用户和组

创建数据库文件夹(data)


centos7二进制安装MySQL5.7并且做主从复制

2、更改换将变量


centos7二进制安装MySQL5.7并且做主从复制

3、修改my.cnf文件


centos7二进制安装MySQL5.7并且做主从复制


4、把启动脚本放到/etc/init.d/ 改名叫mysqld 并给可执行权限


centos7二进制安装MySQL5.7并且做主从复制


5、把mysql路径下更改属主属组


centos7二进制安装MySQL5.7并且做主从复制

6、初始化数据库

centos7二进制安装MySQL5.7并且做主从复制

直接启动就好了

7、查找mysql密码并登陆修改


centos7二进制安装MySQL5.7并且做主从复制


SSL

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


centos7二进制安装MySQL5.7并且做主从复制

2、给server-key.pem和client-key.pem读的权限


centos7二进制安装MySQL5.7并且做主从复制

重启 mysql 服务

登录 mysql,执行 mysql> show variables like '%ssl%';

centos7二进制安装MySQL5.7并且做主从复制

从上图可以看到 mysql 支持了 ssl 安全连接

注:启用 mysql 支持 ssl 安全连接主要用于 mysql 主从复制(局域网可以非 ssh 连接即明文

复制,但 internet 复制建议采用 ssl 连接)

在主 mysql 上的操作完成,再生成一个复制帐号:REQUIRE SSL


centos7二进制安装MySQL5.7并且做主从复制

在主 mysql 上启用二进制日志并重启 mysql 服务


centos7二进制安装MySQL5.7并且做主从复制

重启 mysql 服务

查看主 mysql 的状态


centos7二进制安装MySQL5.7并且做主从复制

注:要记住上图所显示的 file 和 position 的值,配置从服务器要用到防火墙允许 3306/tcp 通信


centos7二进制安装MySQL5.7并且做主从复制

接着就去从上配置

从 mysql 的/etc/my.cnf 文件内容

centos7二进制安装MySQL5.7并且做主从复制

注:server_id 要唯一,不能和其他 mysql 主机的重复

把主 mysql 生成的证书给了从服务器


centos7二进制安装MySQL5.7并且做主从复制

注:192.168.157.131 是从 mysql 的 IP 地址

查看从 mysql 复制过来的证书


centos7二进制安装MySQL5.7并且做主从复制

继续在从上配置 SSL:修改/etc/my.cnf 文件,添加如下内容


centos7二进制安装MySQL5.7并且做主从复制

重启 mysqld 服务

查看 SSL 是否被支持:


centos7二进制安装MySQL5.7并且做主从复制


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


centos7二进制安装MySQL5.7并且做主从复制

注:192.168.157.128 是主 mysql 的 ip 地址


centos7二进制安装MySQL5.7并且做主从复制

SSL 测试连接成功,并且登入的 SSL 协议是: Cipher in use is DHE-RSA-AES256-SHA最后开始配置主从 replicate,登录从 mysql


centos7二进制安装MySQL5.7并且做主从复制

在从上 change master to

centos7二进制安装MySQL5.7并且做主从复制

启用从

centos7二进制安装MySQL5.7并且做主从复制

查看从的状态,以下两个值必须为 yes,代表从服务器能正常连接主服务器

Slave_IO_Running:Yes

Slave_SQL_Running:Yes


centos7二进制安装MySQL5.7并且做主从复制

测试:

在主 mysql 上:创建一些东西


centos7二进制安装MySQL5.7并且做主从复制

从服务器上


centos7二进制安装MySQL5.7并且做主从复制

以上同步成功。

总结:

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


(以上做法均为个人经验,如有瑕疵请大神指点)

相关文章: