Linux搭建mysql5.7 GTID 主从复制环境

背景

服务器版本:CentOS release 6.5 (Final)

内核版本:    2.6.32-431.el6.x86_64

mysql版本: mysql 5.7.16

内容

初始化Linux系统环境

如果你是在一台裸机器上安装MySQL,那么最好可以设置一些适合运行数据库的系统参数。我这里粘贴出我自己的配置项,我写了一个脚本可以一次执行通过的:

安装MySQL

1. 获取MySQL编译版本并初始化安装

注: 配置文件需要根据自己的需求定义,下面是我将上面的步骤整理成了shell脚本,可以直接运行安装:

注:MySQL5.7后续版本有很多更新,有些版本必须要BOOST库,不过mysql的官网源码有带boost库的源码和不带boost库的源码两种,因此有两种安装方式,其实都是一样的,仅仅是不带boost库源码的需要单独安装boost。

详情可参考此博文,这里就不再详细赘述:http://www.cnblogs.com/galengao/p/5755788.html

mysql 默认初始化后会生成一个临时密码,使用此密码登录:

登录上去以后会发现无法执行任何操作,因为mysql要求你在第一时间更改root密码,这也算是mysql5.7中对安全方面做的提升之一吧。

很明显,这样的处理使得自动化程序变得比较麻烦,所以MySQL5.7提供了一种兼容方式,在初始化数据库时,可以通过指定参数 –initialize-insecure 来初始化,这样一来,其行为就与MySQL5.6及之前的版本一样了。这种方法虽然给自动化运维带来了方便,但是背离了MySQL5.7这种安全性处理的初衷,所以要慎用。

如果你想要搭建GTID的主从复制,那么需要在配置文件中加上下面几项:

这时候你会在刚起来的主库上看到以下信息:

如果想要让从库可以链接到主库进行复制,还要执行下列操作:

当然也别忘了打开linux的防火墙的3306端口。

至此,mysql的主库已经搭建完毕,从库的安装和启动和主库一样,这个就不再重复了,我们从建立主从复制的链接开始说起。

直接在从库上执行即可:

Yum安装MySQL

这里多余的再附上MySQL的Yum安装方式,如果嫌源码方式麻烦,或者不熟悉源码安装管理的同学,可以使用yum的方式便捷安装(详情可参考官网解析

1. 安装MySQL社区版的Yum源

注:可以在官方的下载页面选择合适的版本

2. 配置MySQL的Yum源

安装完MySQL的yum源后,我们可以打开原配置文件查看一下:

如上,发现这个源囊括了很多可以下载的版本,不过只有mysql57-cummnity版本的enables=1,也就是说默认我们通过此源安装mysql server是5.7的。当然也就意味着我们可以安装其他版本,只需要修改enables参数即可。我们来试一下:

这下就可以轻松的安装mysql了,而且可以自己控制版本哦。

安装完以后可以通过下面命令进行管理:

在线将GTID切换回普通复制模式

从库执行:

然后主库执行

最后在从库执行:

 

MySQL 在线开启GTID复制

从库和主库分别执行:

然后打开从库复制即可:

 

发表评论