mysql集群主从及多主

基础环境

系统:linux
mysql版本:5.5
主服务器IP:192.168.1.101
从服务器IP:192.168.1.102

1.主服务器(master)要打开二进制日志
2.从服务器(slave)要打开relay日志
3.在主服务器(master)上建立replcation账号授权给从服务器(slave)
4.修改从服务器(slave)的master服务器
5.启动slave

操作步骤:

1.主库的操作

vim /etc/my.cnf

然后在[mysqld]下添加如下配置

#给服务器起一个唯一的id
server-id=1
#开启二进制日志
log-bin=mysql-bin
#指定日志格式
binlog-format=mixed

保存后重启mysql

2.从库操作

vim /etc/my.cnf

然后在[mysqld]下添加如下配置

#给服务器起一个唯一的id
server-id=2
#从服务器中继日志
relay-log=mysql-relay

保存后重启mysql

3.在主服务器上创建相应的复制账号

grant replication client,replication slave on *.* to replName@’192.168.%.%’ identified by ‘123456’;

其中是replName是帐号名,123456是密码,这两项都可以自己修改

4.在从服务器通过语句指定要复制的主服务器(注意,可以一主多从,不可一从多主).

change master to 
master_host=’192.168.1.101’, 
master_user=’replName’, 
master_password=’123456’, 
master_log_file=’mysql-bin.000001’, 
master_log_pos=0;

//没有slaveof这样的设置

说明:
master_host是主服务器IP
master_user是刚才设置的主服务器复制帐号
master_password是刚才设置的主服务器复制帐号密码
master_log_file是主服务器二进制日志文件
master_log_pos是复制二进制文件的开始点
master_log_pos和master_log_file可以在主数据库中通过执行show master status;获取到

5.启动slave

slave start

注意防火墙设置

主主配置

主从配置搞完以后,主主配置就很简单了,

基本思路:

1: 2台服务器都设置上2进制日志和relay日志
2: 都设置上replcation复制账号
3: 都设置对方为自己的master

mysql提供成熟的主主复制,结合keepalived动态IP,可以做到两个结点同时准备(ready)提供服务,任何一台挂掉的时候,另一台立刻无缝接管。

相关推荐