MySQL数据库双机热备------主-主备份配置

实验环境:

主1数据库 192.168.1.1 centos6.5 x86_64 +MySQL5.5.35

主2数据库192.168.1.2  WindowsXP x64 +MySQL5.5.13

一、安装数据库

1.在centos6.5 x86_64 上面安装MySQL5.5.35数据库,下载rpm包的形式安装,在MySQL的官网上面下载。

MySQL-client-5.5.35-1.el6.x86_64.rpm

MySQL-server-5.5.35-1.el6.x86_64.rpm

2.WindowsXP x64 上面安装MySQL5.5.13,软件在网上获取。

二、两个数据库都修改root密码,并且开启远程访问权限。

1.# mysqladmin -u root -ppassword newpassword

Windows上面的是在dos下面进入到C:\Program Files\MySQL\MySQL Server 5.5\bin目录然后执行上面的命令。

2.mysql> grant all privileges on *.* to root@'% 'identified by 'newpassword';

mysql>flush privileges;

修改好之后,相互远程测试一下看是否能够相互远程。

三、主1数据库配置

1.添加同步账号

登陆mysql操作界面,在主1服务器上为主2服务器建立一个用来同步的连接帐户,该帐户必须授予REPLICATION SLAVE权限。因为从mysql版本3.2以后就可以通过REPLICATION对其进行双机热备的功能操作。

操作指令如下:

mysql> grant replication slave on*.* to bak@'192.168.1.2' identified by 'bak';

mysql> flush privileges;

2.测试同步账号的连接性

创建好同步连接帐户后,我们可以通过在主2服务器上用bak帐户对主1服务器数据库进行访问,看下是否能连接成功。主2上输入如下指令:

# mysql –h192.168.1.1 –u bak –p  回车之后要求输入密码,密码为bak,如果登陆成功,则可以继续进行双击热备,否则请找到问题并解决。

3.修改配置文件

修改配置文件/etc/my.cnf  打开在[mysqld]下修改即可:

[mysqld]

server-id= 1

log-bin=mysql-bin                  #启用日志文件

binlog-do-db= test          #需要同步的数据库

binlog-ignore-db= mysql    #不需要同步的数据库

log-slave-updates

sync_binlog= 1

auto_increment_offset= 1

auto_increment_increment= 2

replicate-do-db= test

replicate-ignore-db= mysql,information_schema

修改完配置文件后,保存后,重启一下mysql服务,如果成功则没问题。

4.查看主服务器 mysql的状态文件

#servicemysql restart

登陆mysql 输入命令:

mysql>flush tables whit read lock;   锁表以便在同步之前写数据进去。

mysql>show master status\G

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

File: mysql-bin.000003

Position: 107

Binlog_Do_DB: test

Binlog_Ignore_DB:mysql

1row in set (0.00 sec)

注意看里面的参数,特别前面两个File和Position,在从服务(Slave)配置主-主关系会有用到的。

注:这里使用了锁表,目的是为了产生环境中不让进新的数据,好让从服务器定位同步位置,初次同步完成后,记得解锁。

mysql>unlock tables;

QueryOK, 0 rows affected (0.00 sec)

四、主2数据库配置

1.添加同步账户

登陆mysql操作界面,在主2服务器上为主1服务器建立一个用来同步的连接帐户,该帐户必须授予REPLICATION SLAVE权限。因为从mysql版本3.2以后就可以通过REPLICATION对其进行双机热备的功能操作。

操作指令如下:

mysql> grant replication slave on*.* to bak@'192.168.1.1' identified by 'bak';

mysql> flush privileges;

2.测试同步账户的连接性

创建好同步连接帐户后,我们可以通过在从服务器(Slave)上用bak帐户对主服务器(Master)数据库进行访问,看下是否能连接成功。在从服务器(Slave)上输入如下指令:

# mysql –h192.168.1.2 –u bak –p  回车之后要求输入密码,密码为bak,如果登陆成功,则可以继续进行双击热备,否则请找到问题并解决。

3.修改配置文件

修改配置文件 C:\ProgramFiles\MySQL\MySQL Server 5.5 中的my.ini

[mysqld]

server-id = 2

log-bin=mysql-bin

replicate-do-db = test

replicate-ignore-db =mysql,information_schema,performance_schema

binlog-do-db = test

binlog-ignore-db = mysql

log-slave-updates

sync_binlog = 1

auto_increment_offset = 2

auto_increment_increment = 2

修改完之后,重启windows上的mysql的服务。

Netmysql restart  也可以手工去服务里面找到mysql重启。

4.查看主2 mysql服务器的状态文件

登陆mysql 输入命令:

mysql>flush tables whit read lock;   锁表以便在同步之前写数据进去。

mysql>show master status\G

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

File: mysql-bin.000004

Position: 536

Binlog_Do_DB: test

Binlog_Ignore_DB:mysql

1row in set (0.00 sec)

五、利用change master 语句指定同步位置

1.指定主1的同步源

主1的同步源为主2 mysql服务器。

在主1服务器上面操作,这步是最关键的一步了,在进入mysql操作界面后,输入如下指令:

mysql>stopslave;          //先停步slave服务线程,这个是很重要的,如果不这样做会造成以下操作不成功。

mysql>change master to

>master_host='192.168.1.2',master_user='bak',master_password='bak',

> master_log_file='mysql-bin.000004',master_log_pos=536;

注:master_log_file,master_log_pos由主2服务器(Master)查出的状态值中确定。master_log_file对应File, master_log_pos对应Position。Mysql 5.x以上版本已经不支持在配置文件中指定主服务器相关选项。

在mysql表中查询  SHOW MASTER STATUS 查询file position 

如果遇到问题不成功,则需要重新设置slave命令如下:

mysql>stop slave;

mysql>reset slave;

之后停止slave线程重新设置。成功后,则可以开启slave线程了。

mysql>start slave;

2.指定主2的同步源

主2的同步源为主1 mysql服务器。

在主2服务器上 使用changemaster语句

mysql>stopslave;          //先停步slave服务线程,这个是很重要的,如果不这样做会造成以下操作不成功。

指定主机的命令,主机操作后备机更新数据

mysql>change master to

>master_host='192.168.1.1',master_user='bak',master_password='bak',

> master_log_file='ysql-bin.000003',master_log_pos=107;

注:master_log_file,master_log_pos由主服务器(Master)查出的状态值中确定。master_log_file对应File, master_log_pos对应Position。Mysql 5.x以上版本已经不支持在配置文件中指定主服务器相关选项。

六、查看同步状态

在主1服务器上查看主2服务器的状态(对于主1来说,主2就是slave;)用如下指令进行查看:

mysql> show slave status\G

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

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.1.2

Master_User: bak

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000005

Read_Master_Log_Pos: 107

Relay_Log_File: CO6-relay-bin.000004

Relay_Log_Pos: 253

Relay_Master_Log_File: mysql-bin.000005

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB: test

Replicate_Ignore_DB: mysql,information_schema

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

查看下面两项值均为Yes,即表示设置从服务器成功。

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

在主2服务器上查看主1服务器的状态(对于主2来说,主1就是slave;)用如下指令进行查看:

mysql> show slave status\G

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

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.1.1

Master_User: bak

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000004

Read_Master_Log_Pos: 536

Relay_Log_File: IT06-relay-bin.000004

Relay_Log_Pos: 253

Relay_Master_Log_File: mysql-bin.000004

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB: test

Replicate_Ignore_DB:mysql,information_schema,performance_schema

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 536

Relay_Log_Space: 408

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

查看下面两项值均为Yes,即表示设置从服务器成功。

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

七、测试

在主1数据库的test库中建表写数据,查看主2数据库中是否有同步数据。再在主2数据库的test库中建表写数据,查看主1数据库中是否有同步数据。

八、结论

主—主数据库的双机热备操作比较复杂,遵循的原则是每一步必须都调试成功,否则下面就无法进行了。Mysql 5.x以上版本已经不支持在配置文件中指定主服务器相关选项。所以要使用changemaster语句,这一点很重要。

MySQL数据库双机热备------主-主备份配置的更多相关文章

  1. mysql5.6数据库双机热备、主从备份

    主题:mysql5.6数据库双机热备.主从备份 缘由: 在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一.尤其是在大规模系统中,数据库集群已经成为必备的配置之一.集群的好处主要有:查询 ...

  2. SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库)

    原文:SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库) 场景 公司最近的sharepoint的数据库服务器老是出问题,并且在一旦出现问题,就导致无法正 ...

  3. Nginx+keepalived双机热备(主主模式)

    之前已经介绍了Nginx+Keepalived双机热备的主从模式,今天在此基础上说下主主模式的配置. 由之前的配置信息可知:master机器(master-node):103.110.98.14/19 ...

  4. Nginx+keepalived 双机热备(主主模式)

    之前已经介绍了Nginx+Keepalived双机热备的主从模式,今天在此基础上说下主主模式的配置. 由之前的配置信息可知:master机器(master-node):103.110.98.14/19 ...

  5. Centos7 Mysql主从双机热备的实战记录

    操作系统:centos7 服务器:主:172.19.242.69   从:172.19.242.70 1. 服务器 由于Mysql不同版本之间的(二进制日志)binlog格式可能会不太一样,因此最好的 ...

  6. Mysql双机热备配置(超详细多图版)

    一.双击热备介绍 1.基本概念 双机热备特指基于高可用系统中的两台服务器的热备(或高可用),双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active- ...

  7. Mysql双机热备--预备知识

    1.双机热备 对于双机热备这一概念,我搜索了很多资料,最后,还是按照大多数资料所讲分成广义与狭义两种意义来说. 从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务.当一台服务器 ...

  8. oracle双机热备概念

    1. 双机热备概述      双机热备有两种实现模式,一种是基于共享的存储设备的方式,另一种是没有共享的存储设备的方式,一般称为纯软件方式.      基于存储共享的双机热备是双机热备的最标准方案. ...

  9. tomcate+keepalived配置双机热备

    环境清单: 应用1:192.168.51.101 应用2:192.168.51.75 虚拟IP:192.168.51.179 一.安装Tomcat(参照其他文档): 二.部署应用,并修改响应的端口(9 ...

随机推荐

  1. 接口中的xml报文和实体类的之间转换

    需求:湖南保险行业意健险承保风险预警平台数据接口 平台提供HTTPServlet服务,接受保险公司的数据请求,并在处理后返回给保险公司相应的处理结果.数据接口格式为XML数据报文,在每次接口的交易中, ...

  2. sql server 视图的用法

    Sql server中 如何用sql语句创建视图 1.视图的作用 视图的作用: 第一点:使用视图,可以定制用户数据,聚焦特定的数据. 解释: 在实际过程中,公司有不同角色的工作人员,我们以销售公司为例 ...

  3. bzoj 3829: [Poi2014]FarmCraft 树形dp+贪心

    题意: $mhy$ 住在一棵有 $n$ 个点的树的 $1$ 号结点上,每个结点上都有一个妹子. $mhy$ 从自己家出发,去给每一个妹子都送一台电脑,每个妹子拿到电脑后就会开始安装 $zhx$ 牌杀毒 ...

  4. cube.js 学习(一)简单项目创建

    cube.js 是一个很不错的模块化分析框架,基于schema生成sql 同时内置可代码生成,可以快速的搞定 web 分析应用的开发 安装cli 工具 npm install -g cubejs-cl ...

  5. C位运算符的使用

    #include <stdio.h> int main(void) { //位运算符 & | ^ ~ printf("8|2=%d\n",8|2);// 10 ...

  6. 洛谷 P3367 并查集模板

    #include<cstdio> using namespace std; int n,m,p; ]; int find(int x) { if(father[x]!=x) father[ ...

  7. 10分钟用Python告诉你两个机器人聊天能聊出什么火花

    欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 现在不是讲各种各样的人工智能嘛,AI下棋,AI客服,AI玩家--其实我一直很好奇,两个AI碰上会怎样,比如一起下棋,一起打游戏-- 今天做个 ...

  8. Go程序员面试算法宝典-读后感1

    这本书是讲解Go语言程序员面试笔试真题的书籍,讲的还不错,值得一看. 计算机技术博大精深,日新月异………………大神们疯狂的更新着技术,(我就更新,不服打我呀)虽然换汤不换药,又有几个人能精通基础,再延 ...

  9. MATLAB曲线拟合函数

    一.多项式拟合 ployfit(x,y,n) :找到次数为 n 的多项式系数,对于数据集合 {(x_i,y_i)},满足差的平方和最小 [P,E] = ployfit(x,y,n) :返回同上的多项式 ...

  10. 4、http协议之二

    URL(Unifrom Resource Locator)简述 相对URL 从当前页面(同一个站点内或同一个文章内引用) 绝对URL 从当前页面或其他页面跳转而来(跨站引用) HTTPD版本<0 ...