mysql双机备份最简单_mysql双机热备份

本文详细介绍了如何配置MySQL主从热备,包括主服务器的主二进制日志设置、备份服务器的从属配置,并演示了如何在主从基础上实现互为主从。关键步骤包括添加二进制日志记录、用户权限设置、更改master信息等。
摘要由CSDN通过智能技术生成

写道

一、主从热备主数据库服务器:W服务器

备份服务器:L服务器

1.1 主服务器配置(W服务器上myql服务的配置)先配置W服务器上的mysql.ini信息,主要是在配置文件里[mysqld] 节点下添加如下三行代码

log-bin= #二进制日志路径很重要,如果没有logs文件夹可以自己建立,默认在mysql-bin目录下,也可自己指定目录

server-id=1 #主服务器ID,唯一性

binlog-do-db=MyDBName #需同步的数据库,如果没有本行,即表示同步所有的数据库

上面三行代码有时候在配置文件里面存在,只需把代码前面的“#”删除即可,添加完成上面三行代码,需要重启mysql服务.

接下来在W的mysql服务器上为L的mysql服务器添加一个专用的数据同步的用户帐号(repl),然后授权

grant replication slave on *.* to 'repl'@'192.168.0.210' identified by '123456';

之后通过命令myql –h192.168.0.200 –uroot –psa进入数据库,查看master状态

Mysql>show master status;

可看到这里有两个状态变量,它们十分重要

mysql > SHOW MASTER STATUS;

+--------------------+------------+---------------------+-------------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+--------------------+------------+---------------------+------------------------+

| mysql-bin.003 | 73 | MyDBName| mysql |

+--------------------+------------+---------------------+-------------------------+

注意 File 是 mysql-bin.003 而 position 是 73

这个文件是对MyDBName 这个数据库的二进制日志记录,记录数据变化的当前记录条数是 73 ,对备份服务器非常重要,需要记住,后面要用到。

1.2 备份服务器配置(L服务器上的myql服务的配置)在L服务器上打开mysql.cnf

在[mysqld]节点下添加如下内容

server-id=2

master-host=192.168.0.200 #主服务器ip

master-user=repl #主服务器分配的用户名

master-password=123456 #主服务器分配的用户名对应的密码

master-port=3306 #主服务器mysql端口,默认3306

master-connect-retry=10 #重复连接的次数

这里这样配置有时候可以,有时候会导致mysql服务无法启动,建议最好采用下面这种方式

在[mysqld]节点下添加如下内容

server-id=2

修改完成后,需要重启mysql服务。

然后通过命令行登录msyql(mysql –hlocalhost –uroot -ppwd)

Mysql>slave stop; #先停止slave服务

然后执行

Mysql>change master to

>master_host='192.168.0.200',

>master_user='repl',

>master_password='123456',

>master_log_file=' mysql-bin.003' , #上面主服务器查询的值,有用吧

>master_log_pos=73; #上面主服务器查询的值有用吧

正常执行之后,启动slave服务即可

Mysql>slave start;

之后查看slave状态

Mysql>show slave status; 能查看到信息,表示备份服务器设置成功。

接下来要做的工作就是测试主服务器数据库中表的字段信息修改后,备份服务器是不是会正常会被修改。

二、互为主从热备在第一节主从热备配置中可以实现W数据库服务器表中字段信息修改直接同步到L服务器的数据库中,实现主从热备。

在主从热备的基础上配置,互为主从热备,步骤差不多。

2.1主服务器配置:L服务器上的myql服务的配置在L数据库服务器上运行mysql命令

Mysql>show master status;

显示的信息为empty,没有记录,需要在配置文件mysql.cnf中的[mysqld]添加如下几行信息即可

log-bin= #可为空,也可写mysql-bin

binlog-do-db=MyDBName #待同步的数据库名称

binlog-ignore-db=mysql #忽略mysql数据库的同步

重启mysql服务

命令行执行Mysql>show master status; 可以看到结果

mysql > SHOW MASTER STATUS;

+--------------------+------------+---------------------+-------------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+--------------------+------------+---------------------+------------------------+

| mysql-bin.001 | 106 | MyDBName| mysql |

+--------------------+------------+---------------------+-------------------------+

表示设置成功,同时执行命令mysql>show slave status;

可以看到很多信息,表明设置成功。

2.2备份服务器的配置:W服务器上mysql服务的配置这里配置很简单,只需要执行mysql几个命令即可

通过命令行登录msyql(mysql –hlocalhost –uroot -ppwd)

Mysql>slave stop; #先停止slave服务

然后执行

Mysql>change master to

>master_host='192.168.0.210', #L服务器的IP

>master_user='repl', #L服务器为W服务器创建的同步账户

>master_password='123456', #L服务器为W服务器创建的同步账户的密码

>master_log_file=' mysql-bin.001' , #上面主服务器查询的值

>master_log_pos=106; #上面主服务器查询的值

正常执行之后,启动slave服务即可

Mysql>slave start;

至此,mysql主从互为热备配置完成。类似的方法在网上搜索会有很多,以上内容是本人在实际工作中的总结,经过实践检验。

在实际的配置过程中,可能会存在其他的问题,一般都能很快解决,本次总结希望以后能够比较快速的处理类似的问题。

在此文的基础上加两点:

1.change master to的写法

写道

mysql>CHANGE MASTER TO

-> MASTER_HOST='master2.mycompany.com',

-> MASTER_USER='replication',

-> MASTER_PASSWORD='bigs3cret',

-> MASTER_PORT=3306,

-> MASTER_LOG_FILE='master2-bin.001',

-> MASTER_LOG_POS=4,

-> MASTER_CONNECT_RETRY=10;

2.双击热备配置后,mysql最好都重启下

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2012-07-17 17:08

浏览 1151

评论

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值