手机版
你好,游客 登录 注册
背景:
阅读新闻

CentOS 7.2下MySQL5.7.13安装和基于SSL加密的主从复制

[日期:2017-05-21] 来源:Linux社区  作者:Linux [字体: ]

6、配置 mysql 自动启动

服务启动失败,查看错误日志文件

在 mysqld.service,把默认的 pid 文件指定到了/var/run/mysqld/目录,而并没有事先建立该

目录,因此要手动建立该目录并把权限赋给 mysql 用户。

或者修改/usr/lib/system/system/mysqld.service,修改内容如下:

#systemctl daemon-reload

再次启动 mysqld 服务

查看端口号

服务启动成功

访问 MySQL 数据库

# mysql -u root -h 127.0.0.1 -p ---连接 mysql,输入初始化时生成的随机密码

设置数据库管理员用户 root 的密码

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

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

# cd /usr/local/mysql/bin ---切换目录

# mysql_ssl_rsa_setup --user=mysql--basedir=/usr/local/mysql

--datadir=/usr/local/mysql/data ---创建新的 SSL 文件

重启 mysqld 服务

Systemctl restart mysqld

查看mysql的错误日志

报错信息显示是不能获得私钥,执行 ls 查看 server-key.pem

发现没有 r 权限

重启 mysql 服务,这时错误日志中就没有报错了

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

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

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

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

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

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

Vim/etc/my.cnf,添加红框中内容

重启 mysql 服务

Systemctlrestart mysqld

查看主 mysql 的状态

注:要记住上图所显示的 file 和 position 的值,配置从服务器要用到

防火墙允许 3306/tcp 通信

2)接着就去从上配置

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

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

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

查看从 mysql 复制过来的证书

设置 client-key.pem 的 r 权限

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

重启mysqld服务

查看 mysqld.err 是否有错误日志

查看 SSL 是否被支持

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

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 Sockets Layer 安全套接层),及其继任者传输层安全(TransportLayer Security,TLS)

是为网络通信提供安全及数据完整性的一种安全协议。复制默认是明文进行传输的,通过

SSL 加密可以大大提高数据的安全性。

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-05/144038.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款