centos7
二进制安装MySQL5.7
1、先卸载掉mariadb
把从官网下载下来的二进制包解压
官方二进制安装包位置:https://dev.mysql.com/downloads/mysql/
解压完成之后移动到/usr/local下并取名叫mysql
创建用户和组
创建数据库文件夹(data)
2、更改换将变量
3、修改my.cnf文件
4、把启动脚本放到/etc/init.d/ 改名叫mysqld 并给可执行权限
5、把mysql路径下更改属主属组
6、初始化数据库
直接启动就好了
7、查找mysql密码并登陆修改
SSL
1)在主 mysql 创建 SSL/RSA 文件
2、给server-key.pem和client-key.pem读的权限
重启 mysql 服务
登录 mysql,执行 mysql> show variables like '%ssl%';
从上图可以看到 mysql 支持了 ssl 安全连接
注:启用 mysql 支持 ssl 安全连接主要用于 mysql 主从复制(局域网可以非 ssh 连接即明文
复制,但 internet 复制建议采用 ssl 连接)
在主 mysql 上的操作完成,再生成一个复制帐号:REQUIRE SSL
在主 mysql 上启用二进制日志并重启 mysql 服务
重启 mysql 服务
查看主 mysql 的状态
注:要记住上图所显示的 file 和 position 的值,配置从服务器要用到防火墙允许 3306/tcp 通信
接着就去从上配置
从 mysql 的/etc/my.cnf 文件内容
注:server_id 要唯一,不能和其他 mysql 主机的重复
把主 mysql 生成的证书给了从服务器
注:192.168.157.131 是从 mysql 的 IP 地址
查看从 mysql 复制过来的证书
继续在从上配置 SSL:修改/etc/my.cnf 文件,添加如下内容
重启 mysqld 服务
查看 SSL 是否被支持:
那么在配置主从复制之前可以在从 mysql 上用 SSL 连接主服务器试试:
注:192.168.157.128 是主 mysql 的 ip 地址
SSL 测试连接成功,并且登入的 SSL 协议是: Cipher in use is DHE-RSA-AES256-SHA最后开始配置主从 replicate,登录从 mysql
在从上 change master to
启用从
查看从的状态,以下两个值必须为 yes,代表从服务器能正常连接主服务器
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
测试:
在主 mysql 上:创建一些东西
从服务器上
以上同步成功。
总结:
SSL(Secure SocketsLayer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。复制默认是明文进行传输的,通过SSL 加密可以大大提高数据的安全性。
(以上做法均为个人经验,如有瑕疵请大神指点)