mysql双主id顺序_mysql双主互备设置详细记录

mysql双主互备设置详细记录

1.环境详细信息:

1.1 服务器A

CentOS realse 6.8 final

mysql,5.6.34

192.168.31.133;

1.2 服务器B,

CentOS realse 6.8 final

mysql,5.6.34

192.168.31.132

2.说明

2.1 对于一个mysql服务器,一般有两个线程来负责复制和被复制,当开启复制之后:

2.1.1 作为主服务器Master,会把自己的每一次改动都记录到二进制日志binarylog中。(从服务器会负责来读取这个log, 然后在自己那里再执行一遍。)

2.1.2 作为从服务器Slave,会用master上的账号登陆到master上,读取master的Binarylog,写入到自己的中继日志 relaylog,然后自己的sql线程会负责读取这个中继日志,并执行一遍。到这里主服务器上的更改就同步到从服务器上了。

3.设置详细步骤:

3.1 在服务器A上创建专门用于备份的账户,在mysql中执行:

grant replication slave on *.* to 'root_save'@'192.168.31.132' identified by 'root_save';

其中192.168.31.132为B服务器的IP地址,前面的root_save为用户名,后面的root_save为密码

3.2 开启主服务器(A服务器)的binarylog(配置my.cnf文件中的相关参数)

#about master-slave

#开启二进制日志

log-bin=mysql-bin

#设置二进制文件模式

binlog_format=mixed

#服务的ID,主从服务需要设置不同的值

server-id=1

#设置是否只读

read-only=0

#设置需要关注的数据库

#binlog-do-db=i_test

#设置需要忽略的数据库

#which should be ignored

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

binlog-ignore-db=performance_schema

#how many db servers

auto-increment-increment = 10

# 设置增长的初始值

auto-increment-offset=2

#end master-slave

3.3 获取主服务器(A服务器)状态,和同步初态。

3.3.1 先锁定需要同步的数据库,比如我们测试的i_test,在mysql中执行:

use i_test;

FLUSH TABLES WITH READ LOCK;

3.3.2 导出数据库中的数据,在命令行中执行:

mysqldump --master-data -u root -p i_test > i_test.sql

3.3.3 查看A服务器的binary日志位置,在mysql中执行:

show master status\G;

执行结果如下:

mysql> show master status\G;

*************************** 1. row ***************************

File: mysql-bin.000007 #该参数在启动同步设置MASTER_LOG_FILE参数时使用

Position: 2879 #该参数在启动同步设置MASTER_LOG_POS参数时使用

Binlog_Do_DB:

Binlog_Ignore_DB: mysql,information_schema,performance_schema

Executed_Gtid_Set:

1 row in set (0.00 sec)

ERROR:

No query specified

3.3.4 解锁数据库,在mysql中依次执行:

use i_test;

unlock tables;

3.4 设置从服务器(B服务器)需要复制的数据库(配置my.cnf文件中的相关参数)

#about master to slave

log-bin=mysql-bin

binlog-format=mixed

#服务的ID,主从服务需要设置不同的值

server-id=2

#replicate-do-db=i_test

#可以指定需要复制的数据库

replicate-ignore-db=mysql

#复制时需要排除的数据库

replicate-ignore-db=information_schema

replicate-ignore-db=performance_schema

#中继日志的名字

relay_log=mysqld-relay-bin

#中继日志执行之后,这些变化是否需要计入自己的binarylog。 当你的B服务器需要作为另外一个服务器的主服务器的时候需要打开。  就是双主互相备份,或者多主循环备份。

log-slave-updates=ON

#about master to slave

3.5 配置my.cnf文件之后重启mysql服务

3.6 导入初态,开始同步

在从服务器(B服务器)创建数据库,i_test,在mysql中执行:

create database i_test;

把刚刚从主服务器(A服务器上)导出的i_test.sql导入到从服务器(B服务器)的i_test数据库中,在命令行执行:

mysql -u root -p i_test

3.7 开启同步

在从服务器(B服务器)上执行

CHANGE MASTER TO

MASTER_HOST='192.***.***.***',#(A服务器IP)

MASTER_USER='repl_user',#(A服务器创建的B服务器访问账号)

MASTER_PASSWORD='hj3****',#(A服务器创建的B服务器访问账号的密码)

MASTER_LOG_FILE='mysql-bin.000004',#(A服务器的当前二进制日志文件的名称)

MASTER_LOG_POS=7145;#(A服务器的当前二进制日志文件的位置)

3.8 重启从服务器(B服务器)的mysql服务

3.9 查看从服务器(B服务器)的slave线程情况

show slave status\G;

只有在

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

才说明配置成功,其中任意一个为NO都表示配置不成功,应当查看错误日志,进行查看。

3.10 在主服务器(A服务器)上的i_test数据库中插入一条记录,在从服务器(B服务器)上进行查看,就能够正常的查看到了。

3.11 以上完成A-B的复制,即简单的主从配置,

现在开始配置B-A的复制,即:把B当成主服务器,A当成从服务器,从而实现双主热备.

3.12 在B中创建用于复制的账户,类似于3.1,在mysql中执行:

grant replication slave on *.* to 'root_save'@'192.168.31.133' identified by 'root_save';

3.13 开启主服务器(B服务器)的binarylog,类似于3.2

read-only=0

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

binlog-ignore-db=performance_schema

auto-increment-increment = 10

auto-increment-offset=6

3.14 查看主服务器(B服务器)的master日志状态,类似于3.3.3

show master status\G;

3.15 开启从服务器(A服务器)的中继日志,类似于3.4

#replicate-do-db=i_test

replicate-ignore-db=mysql

replicate-ignore-db=information_schema

replicate-ignore-db=performance_schema

relay_log=mysqld-relay-bin

log-slave-updates = ON

3.16 启动同步,在从服务器(A服务器)的mysql下执行:

change master to

master_host='192.168.31.132',

master_user='root_save',

master_password='root_save',

master_log_file='mysql-bin.000006',

master_log_pos=120;

3.17 查看从服务器(A服务器)的slave状态是否正常

show slave status\G;

只有在

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

才说明配置成功,其中任意一个为NO都表示配置不成功,应当查看错误日志,进行查看。

3.18 完成以上操作之后,mysql双主热备就实现了。

4.配置过程中的注意事项:

4.1 注意参数的拼写,下划线和中划线的书写

4.2 注意查看错误日志

4.3 注意设置的账号和密码是否正确

4.4 注意对应端口是否开启以及防火墙的状态

4.5 注意在开启从服务器的同步时,应当是即时查看主服务器的master状态

4.6 注意设置mysql服务的开机启动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值