`
sealbird
  • 浏览: 583866 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

mysql同步数据 <2>

阅读更多
 
mysql同步数据


来源: ChinaUnix博客  日期: 2008.11.21 11:54 (共有0条评论) 我要评论
 
mysql同步数据
一,cluster模式配置
数据库同步复制功能的设置都在mysql的设置文件中体现。主要工作原理为slave端记录并且执行master端的操作日志.mysql的配置文件(Linux下为/etc/my.cnf)
1、实施环境:
  操作系统:2台linux AS 4,完全安装.
   Mysql为本机rpm.版本为4.17
   SvrA ip:192.168.0.111
   SvrB ip:192.168.0.112
2、配置方法
1:主从模式[Master->Slave]:A->B
在SVRA中配置:

Shell->service mysqld start
Shell -> mysql –u root
1.增加一个用户做为同步的用户帐号:
Mysql>GRANT REPLICATION SLAVE ON *.* TO backup@'192.168.0.112' IDENTIFIED BY '123456';

//backup是同步账号,123456是同步密码
2.增加一个数据库作为同步数据库:
Mysql>create database backup;
在SvrB上配置:
Shell->service mysqld start
Shell -> mysql –u root
1.增加一个用户最为同步的用户帐号:
Mysql> GRANT REPLICATION SLAVE ON *.* TO backup@'192.168.0.111' IDENTIFIED BY '123456';

//backup是同步账号,123456是同步密码
2.增加一个数据库作为同步数据库:
Mysql>create database backup;
关闭MYSQL 数据库。
2:配置Master、Slave参数
主从模式:A->B SvrA为master ,SvrB为slave
1.修改SvrA 中mysql的my.cnf文件。
#vi /etc/my.cnf
在mysqld配置项中加入下面配置:
server-id=1
log-bin  =
binlog-do-db=backup(此处数据库名为要数据同步的数据库)
log_err=my-err.log
max_binlog_size=104857600  配置完后重起数据库服务。
用show master status 命令看日志情况。
mysql> show master status;
1.修改SvrB中 mysql的my.cnf文件。
#vi /etc/my.cnf
在mysqld配置项中加入下面配置:
server-id=2
master-host=192.168.0.111   //maste主机IP
master-user=backup           //backup是同步账号
master-password=123456     //123456是同步密码
master-port=3306             //master主机的数据库端口
master-connect-retry=60
replicate-do-db=backup       //同步的数据库名
binlog-do-db=backup         //同步的数据库名
====step 3:启动数据库和数据复制====
启动SLAVE从数据库:
Shell->service mysqld start
Shell -> mysql –u root
Mysql>slave stop; #暂停slave从master同步数据.
启动MASTER从数据库:
Shell->service mysqld start
Shell -> mysql –u root
回到SLAVE从数据库终端:
Mysql>start slave;
设置完成,启动成功:此处最好重启mysql服务,重新启动方法:
#service mysqld restart 注:有时候会启动失败,可采用下面启动方法
#usr/bin/mysqladmin –u root shutdown #关闭数据库
#usr/bin/mysqld_safe & #启动数据库
查看是否启动同步复制线程:
Mysql>show slave status;
| Waiting for master to send event | 192.168.0.111 | backup     |     3306 |         30 | l2-bin.000014   |             79 | l1-relay-bin.000019 |       159 | l2-bin.000014       | Yes         | Yes           | backup       |               |             |                 |                 |                   |       0 |         |         0 |             79 |         159 | None         |           |         0 | No           |             |             |           |             |           |             12 |
如果不同步的解决办法:
在master执行
Mysql>show master status;
+---------------+----------+--------------+------------------+
| File       | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| l2-bin.000014 |     79 | backup     |             |
+---------------+----------+--------------+------------------+
注意master中显示的记录点位置和正在记录的日志文件名,在slave中执行:
Mysql>change master to master_log_file='mysql.000014', MASTER_LOG_POS=79;
Mysql>quit
#service mysqld restart #重启master和slave的mysql.未成功的话执行:
#/usr/bin/mysqladmin –u root shutdown
#/usr/bin/mysqld_safe &
二.双机热备配置
配置双机方法其实就是在上述的cluster基础上略加改动,既在从机上做主机配置,在主机上做从机配置。具体方法如下:
     SvrA ip:192.168.0.111
   SvrB ip:192.168.0.112
在确定cluster模式配置成功后(确认方法上面有详述),关闭master(SvrA)数据库:
#service mysqld stop
#vi /etc/my.cnf
在配置文件中加入:
master-host=192.168.0.112   ###设置主机IP地址
master-user=backup       ###设置主机同步库用户名
master-password=123456  ###设置主机同步库密码
replicate-do-db=backup     ###设置主要同步数据库
master-connect-retry=60   ###设置心跳时间(库同步间隔)
log_err=my-err.log       ###同步错误日志
完成后保存退出.启动:
  #service mysqld start
或者:
  #/usr/bin/mysql –u root
配置slave(SvrB)端/etc/my.cnf,加入以下内容:
#vi /etc/my.cnf
binlog-do-db=backup
log-bin=my_log
重启mysql服务:
#Service mysqld restart
在SvrA执行:
Mysql>start slave;
Mysql>show slave status;
------------+
| Waiting for master to send event | 192.168.0.112 | backup     |     3306 |         60 | my_log.000024   |             79 | l2-relay-bin.000010 |         4 | my_log.000024       | Yes         | Yes           | backup       |               |             |                 |                 |                   |       0 |         |         0 |             79 |           4 | None         |           |         0 | No           |             |             |           |             |           |             2741 |
在SvrB执行:;
mysql> show master status;
+---------------+----------+--------------+------------------+
| File       | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| my_log.000024 |     79 | backup     |             |
+---------------+----------+--------------+------------------+
1 row in set (0.00 sec)
对比以上信息,日志记录文件名,同步数词库名和日志记录点,如果无误代表现在SvrB已经可以做为SvrA的master运行.但它本身也同时在做为SvrA的slave来运行.
在SvrA执行:
Mysql>show master status;
+--------------+----------+--------------+------------------+
| File       | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+--------------+----------+--------------+------------------+
| mylog.000009 |     4 | backup     |             |
+--------------+----------+--------------+------------------+
1 row in set (0.00 sec)
在SvrB执行
mysql> show slave status;
-------------+-----------------+-------------------+----------------+-----------------------+
| Waiting for master to send event | 192.168.0.111 | backup     |     3306 |         60 | mylog.000009   |             4 | l1-relay-bin.000003 |       313 | mylog.000009       | Yes         | Yes           | backup       |               |             |                 |                 |                   |       0 |         |         0 |             4 |         313 | None         |           |         0 | No           |             |             |           |             |           |             3575 |
+----------------------------------+---------------+-------------+-------------+
1 row in set (0.00 sec)
对比以上SvrA和SvrB中的主机ip,同步数词库,同步日志文件名,同步日志记录点.确认无误后完成.
注意:在对mysql进行配置后,master端var/lib/mysql/下生成的master.info内容可能会不正确。可能会导致的错误是在将SvrA配置成slave时执行slave start出现大概意思为:“本机未配置成slave服务器,请更改config文件或者执行change master to命令…”的提示,解决办法为:
#Vi /var/lib/mysql/master.info
14
mylog.000007   ###同步后要记录的日志文件
79         ###日志记录点
192.168.0.111   ###主机IP
Backup       ###同步数据库
123456       ###同步数据库密码
3306       ###同步端口
60         ###心跳时间(同步间隔)
0
核对以上信息是否配置正确,为了更真实的测试同步准确性,建议在库中导入数据进行测试.以上mysql cluster模式和双机热备模式配置基本完成.


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/41660/showart_1656858.html 
分享到:
评论

相关推荐

    mysql5.1中文手册

    MySQL处理约束的方式&lt;br&gt;2. 安装MySQL&lt;br&gt;2.1. 一般安装问题&lt;br&gt;2.1.1. MySQL支持的操作系统&lt;br&gt;2.1.2. 选择要安装的MySQL分发版&lt;br&gt;2.1.3. 怎样获得MySQL&lt;br&gt;2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性&lt;br&gt;...

    Navicat导航貓MySQL数据库管理工具

    报告可汇出成各种格式,PDF, Excel, HTML 等(新增) &lt;br&gt;-超时自动重新连接到SQL服务器&lt;br&gt;-数据和结构同步 &lt;br&gt;-导出注册文件以传送到另外的计算机 &lt;br&gt;-新查询创建器--为不同的数据库创建查询 &lt;br&gt;-查询参数 ...

    数据库设计工具BDB Developer Edition v3.0

    BDB Developer Edition v3.0&lt;br&gt;&gt;BDB(Bain DB Builder)是跨数据库平台的数据库设计工具、&lt;br&gt;&gt;目前版本支持的数据库平台:&lt;br&gt;&gt; √ Access&lt;br&gt;&gt; √ MS SQLServer&lt;br&gt;&gt; √ Oracle&lt;br&gt;&gt; √ MySQL&lt;br&gt;&gt; √ SQLAnyWhere...

    BDB Professional Edition v2.8

    BDB Professional Edition v2.8&lt;br&gt;&gt;BDB(Bain DB Builder)是跨数据库平台的数据库设计工具、&lt;br&gt;&gt;目前版本支持的数据库平台:&lt;br&gt;&gt; √ Access&lt;br&gt;&gt; √ MS SQLServer&lt;br&gt;&gt; √ Oracle&lt;br&gt;&gt; √ MySQL&lt;br&gt;&gt; √ SQL...

    数据库设计/自动安装工具BDB 2007 V2.3(For Oracle/MS SQLServer/Access/MySQL/SQLAnyWhere/Sybase)

    BDB是跨数据库平台的数据库设计和自动安装工具、&lt;br&gt;支持Oracle、MS SQLServer、Access、MySQL、SQLAnyWhere、Sybase数据库。&lt;br&gt;通过BDB可以快速建立数据库模型、并随时与实体数据库进行双向同步。&lt;br&gt;同时它还可以...

    数据库设计工具BDB v3.0

    v3.0版本更新:&lt;br&gt;1, 增加E-R图支持&lt;br&gt;2,增加数据库对象查询功能&lt;br&gt;3,添加方案右键菜单&lt;br&gt;4,SQL查询分析功能完善&lt;br&gt;5,修正了一些bug&lt;br&gt;&lt;br&gt;v3.0版本浏览&lt;br&gt;...&lt;br&gt;&lt;br&gt;BDB是贝恩软件(WWW.bainsoft.COM)发布...

    BDB2001

    &lt;br&gt;BDB(Bain DB Builder)是跨数据库平台的数据库设计工具、&lt;br&gt;目前版本支持的数据库平台:&lt;br&gt; √ Access&lt;br&gt; √ MS SQLServer&lt;br&gt; √ Oracle&lt;br&gt; √ MySQL&lt;br&gt; √ SQLAnyWhere&lt;br&gt;&lt;br&gt;通过其可以方便快捷进行...

    数据库设计工具BDB 2007(支持跨数据库平台)

    BDB(Bain DB Builder)是跨数据库平台的数据库设计工具、&lt;br&gt;目前版本支持的数据库平台:&lt;br&gt; √ Access&lt;br&gt; √ MS SQLServer&lt;br&gt; √ Oracle&lt;br&gt; √ MySQL&lt;br&gt; √ SQLAnyWhere&lt;br&gt;&lt;br&gt;通过其可以方便快捷进行数据库...

    数据库设计和自动安装工具BDB V2.2(for Oracle/MS SQLServer/MySQL/Access/SQLAnywhere/Sybase)

    &lt;br&gt;&lt;br&gt;&lt;br&gt;版本更新:&lt;br&gt;1、2007.11.23 查询分析清除数据效率改善处理&lt;br&gt;2、2007.11.23 加入Sybase支持。&lt;br&gt;3、2007.11.26 状态栏调整。&lt;br&gt;4、2007.11.26 加入执行中断功能。&lt;br&gt;5、2007.11.26 数据表头资源...

    数据库设计和部署软件BDB 专业版v2.7

    版本更新:&lt;br&gt;&lt;br&gt;1, 增加标识列支持&lt;br&gt;2, 数据表列表增加排序处理&lt;br&gt;3, 更正导入数据,未过滤自增列问题&lt;br&gt;4, 更正数据库安装无法设置空路径问题。&lt;br&gt;5, 增加精度列,小数位数列显示处理。&lt;br&gt;6,增加刷新功能...

    数据库设计和部署软件BDB 个人版V2.6

    &lt;br&gt;&lt;br&gt;2,数据库部署。&lt;br&gt; 通过BDB创建数据库部署程序。&lt;br&gt; 除了常规调用外,在BDB中还提供了外部命令行调用数据库自动安装支持,&lt;br&gt; 您可以通过该功能把数据库部署集成到您的安装程序中。&lt;br&gt;&lt;br&gt;3,数据库...

    数据库设计和部署软件BDB 专业版V2.6

    &lt;br&gt;&lt;br&gt;2,数据库部署。&lt;br&gt; 通过BDB创建数据库部署程序。&lt;br&gt; 除了常规调用外,在BDB中还提供了外部命令行调用数据库自动安装支持,&lt;br&gt; 您可以通过该功能把数据库部署集成到您的安装程序中。&lt;br&gt;&lt;br&gt;3,数据库...

    数据库设计软件BDB 2007(for Oracle/SQLServer/MySQL/Access/SQLAnywhere) V2.1

    BDB是跨数据库平台的数据库设计和自动安装工具、&lt;br&gt;支持Oracle、SQLServer、Access、MySQL、SQLAnyWhere数据库。&lt;br&gt;通过BDB可以快速建立数据库模型、并随时与实体数据库进行双向同步。&lt;br&gt;同时它还可以为您的应用...

    数据库设计和部署软件BDB 个人版v2.7

    关于BDB&lt;br&gt;__________________________________________________________&lt;br&gt;&lt;br&gt;&lt;br&gt;BDB是贝恩软件(www.bainsoft.com)发布的数据库设计和数据库部署软件,&lt;br&gt;支持Oracle,MS SQLServer,Access,MySQL,SQL...

    AX DBBuilder 2007(最新多语言版)

    &lt;br&gt;&lt;br&gt;7、数据库结构定义同步&lt;br&gt;支持同步当前数据表结构定义至所有数据表结构。&lt;br&gt;这样对于相同的结构定义更改,只需在一个地方&lt;br&gt;做修改即可。&lt;br&gt;&lt;br&gt;8、数据查询分析&lt;br&gt;支持直接输入语法进行数据查询和数据...

    数据库设计工具BDB 2007

    &lt;br&gt;&lt;br&gt;2、支持和数据库之间的双向同步,即既可通过BDB创建、更新数据库、&lt;br&gt;又可从现有数据库同步到BDB的数据库结构定义。&lt;br&gt;&lt;br&gt;3、数据库结构采用XML文件格式定义,为外部程序读取提供统一接口。&lt;br&gt;&lt;br&gt;4、...

    数据库设计工具BDB 最新V1.7(支持跨数据库平台)

    &lt;br&gt;&lt;br&gt;2、支持和数据库之间的双向同步,即既可通过BDB创建、更新数据库、&lt;br&gt;又可从现有数据库同步到BDB的数据库结构定义。&lt;br&gt;&lt;br&gt;3、数据库结构采用XML文件格式定义,为外部程序读取提供统一接口。&lt;br&gt;&lt;br&gt;4、...

    BDB 2007数据库开发工具

    DB是跨数据库平台的数据库设计和自动安装工具、&lt;br&gt;支持Oracle、SQLServer、Access、MySQL、SQLAnyWhere数据库。&lt;br&gt;通过BDB可以快速建立数据库模型、并随时与实体数据库进行双向同步。&lt;br&gt;同时它还可以为您的应用...

    BDB2007

    &lt;br&gt;&lt;br&gt;2、跨数据库平台、目前版本支持&lt;br&gt; √ Access&lt;br&gt; √ MS SQLServer&lt;br&gt; √ Oracle&lt;br&gt; √ MySQL&lt;br&gt; √ SQLAnyWhere&lt;br&gt;&lt;br&gt;3、创建数据库自动安装程序。&lt;br&gt;为数据库创建自动安装程序,可在不同数据库平台...

    BDB 2007 V2.0 (for Oracle/SQLServer/Access/MySQL/SQLAnyWhere)

    BDB是跨数据库平台的数据库设计和自动安装工具、&lt;br&gt;支持Oracle、SQLServer、Access、MySQL、SQLAnyWhere数据库。&lt;br&gt;通过BDB可以快速建立数据库模型、并随时与实体数据库进行双向同步。同时它还可以为您的应用程序...

Global site tag (gtag.js) - Google Analytics