[转帖]Mariadb或者MySQL主主同步备份设置(windows)_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2328 | 回复: 1   主题: [转帖]Mariadb或者MySQL主主同步备份设置(windows)        下一篇 
johnnyfox
注册用户
等级:新兵
经验:41
发帖:90
精华:0
注册:2011-12-12
状态:离线
发送短消息息给johnnyfox 加好友    发送短消息息给johnnyfox 发消息
发表于: IP:您无权察看 2015-1-28 10:07:42 | [全部帖] [楼主帖] 楼主

摘要:本文仅仅是描述双数据库下的主主同步备份配置,如果需要实现真正的failover以及负载均衡,还需要结合其他配置Keepalived等软件的配置(使用Keepalived,则必须用linux系统,此软件只有linux版本)

准备工作

    首先准备两台装有MariaDB或者MySQL的虚拟机,我是两台win2003虚拟机,都装有MariaDB, 两个分别为192.168.100.217 和 192.168.100.218 两台机器基本配置一样,但是有一点,其中一台的my.ini文件中配置server_id = 2 (即两台机器的server_id不能相同) 192.168.100.217的my.ini文件中[mysqld]节点添加参数如下:

log-bin=binlog #开启binlog功能
log-bin-index=binlog.index
sync_binlog=0
server_id = 1 #两台机器不能重复,一个1 一个2 就好


    192.168.100.218的my.ini文件中[mysqld]节点添加参数如下:

log-bin=binlog #开启binlog功能
log-bin-index=binlog.index
sync_binlog=0
server_id = 2 #两台机器不能重复,一个1 一个2 就好


一、对两台机器上的MariaDB都执行如下语句来添加作为从服务器的用户,名为testsync,密码为“abc123,”:

GRANT replication slave ON *.* TO'testsync'@'%' identified by 'abc123,'; flush privileges;


二、对218设置同步,主服务器为217
1、在192.168.100.217上执行:

    flush tables with read lock; show master status; 执行完show这一步骤,请记住几个参数,一个是File字段的文件名称,以及Position数值,在后续需要使用 unlock tables;

2、在192.168.100.218上执行如下:

    先执行添加mster命令,有几点必须注意的,就是master_log_file的值必须为在217上执行show的时候获取的File的名称,master_log_pos值必须为Position值,否则会出错

change master to master_host='192.168.100.217', master_port=3306, master_user='testsync',master_password='abc123,', master_log_file='binlog.000003',master_log_pos=598;
start slave;
show slave status;
#执行这命令后 注意观察下面这两个参数,必须要都是yes才行
Slave_IO_Running: Yes
Slave_SQL_Running: Yes


    如果其中一个是no,那么请观察后续字段 Last_IO_Error或者Last_SQL_Error中的描述,然后根据错误去修改配置参数

    其中可能出现错误的几点,在这里说明下:

        1、server_id相同,倒是IO错误

        2、master_log_file和master_log_pos错误,导致IO错误

三、反过来对217设置同步,主服务器为218
1、在192.168.100.218上执行:

    flush tables with read lock; show master status; 执行完show这一步骤,请记住几个参数,一个是File字段的文件名称,以及Position数值,在后续需要使用 unlock tables;

2、在192.168.100.217上执行如下:

    先执行添加mster命令,有几点必须注意的,就是master_log_file的值必须为在217上执行show的时候获取的File的名称,master_log_pos值必须为Position值,否则会出错

change master to master_host='192.168.100.218', master_port=3306, master_user='testsync',master_password='abc123,', master_log_file='binlog.000002',master_log_pos=323;
start slave;
show slave status;
#执行这命令后 注意观察下面这两个参数,必须要都是yes才行
Slave_IO_Running: Yes
Slave_SQL_Running: Yes


    如果其中一个是no,那么请观察后续字段 Last_IO_Error或者Last_SQL_Error中的描述,然后根据错误去修改配置参数

    其中可能出现错误的几点,在这里说明下:

        1、server_id相同,倒是IO错误

        2、master_log_file和master_log_pos错误,导致IO错误

四、测试同步配置是否完成了

    可以对其测试一下,在217上新创建数据库,在218上在刚创建的数据库中创建表,如果双方内容一样,那么就验证此配置完成了

如果过程中没有错误,那么至此,设置主住同步备份就完成了

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
running
注册用户
等级:中尉
经验:491
发帖:0
精华:0
注册:2015-1-20
状态:离线
发送短消息息给running 加好友    发送短消息息给running 发消息
发表于: IP:您无权察看 2015-1-28 23:53:33 | [全部帖] [楼主帖] 2  楼

北京联动北方科技有限公司



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论