`
zxl7049
  • 浏览: 30245 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

mysql 实现数据同步

阅读更多
用于工作需要  今天研究了下mysql 的主从数据同步
master :
mysql: 5.0.26-community-nt-log
ip :192.168.4.100
slave:
mysql:5.5.19
ip:192.168.17.129


master
在my.cnf 中的

[mysqld]
log-bin =var/mysql/log/mysql-bin.log
server-id=1
binlog-do-db=test //需要同步的库
binlog-do-db=siteschool
binlog-ignore-db=mysql//不需要同步的库
//在master上设置binlog-ignore-db对减少网络带宽,减少replicate lag是有好处的。
执行sql
建立同步的账号
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave001'@'192.168.17.129' IDENTIFIED BY
'123456';

mysql>  show master status\G;
*************************** 1. row ***************************
            File: mysql-bin.000001
        Position: 6908
    Binlog_Do_DB: test,siteschool
Binlog_Ignore_DB: mysql
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.13 sec)

mysql> flush tables with read lock;
dump  对应的表后 待slave 建好后执行下面的
mysql> unlock tables;



slave 中
修改 /etc/my.cnf
[mysqld]
server-id=2
replicate-do-db=test 要同步的库
read-only=1 
slave-net-timeout=10 
relay-log-index = /data/mysql/relaylog/relaylog
relay-log-info-file = /data/mysql/relaylog/relaylog
relay-log = /data/mysql/relaylog/relaylog

如果 /data/mysql/relaylog 目录不存在 则需要创建,并赋给 mysql 用户 读写权限 不然在
start slave 的时候 会报 error:13d的权限错误

[root@localhost relaylog]# /etc/init.d/mysql  restart

mysql 5.5 以后貌似不能支持直接在 my.cnf  里面修改master 相关的参数 
采用如下sql  执行 
mysql> change master  to  master_user='slave001';  
mysql> change master  to  master_password='123456'; 

此处需要和show master status\G; 对应
mysql> change master  to  master_log_file='mysql-bin.000001';
mysql> change master  to  master_log_pos='6908'; 
 mysql> start slave; 
mysql> show slave  status\G;                                 
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.4.100
                  Master_User: slave001
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 6908
               Relay_Log_File: relaylog.000657
                Relay_Log_Pos: 244
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: test
          Replicate_Ignore_DB: 
           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: 6908
              Relay_Log_Space: 530
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1
1 row in set (0.03 sec)

正常 OK  

更新test 表中的数据时 二进制文件在变化有 6908-----7478
如果在建立slave 的时候 master Position 发送变化 
需要reset slave  后从新  按照上面的方法 重建 
[root@localhost relaylog]# cat  relaylog
/data/mysql/relaylog/relaylog.000679
814
mysql-bin.000001
7478




二进制的文件为的位置为 6908  一致


分享到:
评论

相关推荐

    mysql-oracle数据同步

    本文将深入探讨MySQL到Oracle的数据同步过程,以及如何在同步过程中修改MySQL数据表的标识。 首先,我们要理解MySQL和Oracle是两种不同的关系型数据库管理系统(RDBMS)。MySQL以其开源、轻量级、高效的特点被广泛...

    SpringBoot定时任务实现Oracle和mysql数据同步

    Spring Boot作为Java领域的一个热门微服务框架,提供了强大的定时任务功能,能够帮助我们实现不同数据库间的数据同步,比如Oracle到MySQL。本篇文章将详细讲解如何利用Spring Boot的定时任务特性,结合Java的相关...

    mysql历史数据同步到clickhouse 已测试

    MySQL到ClickHouse的历史数据同步是一项常见的任务,尤其是在大数据分析场景中。ClickHouse是一个高性能的列式数据库管理系统(Column-Oriented DBMS),适用于在线分析处理(OLAP)和实时数据分析。MySQL作为流行的...

    java实现两个mysql同步主库的数据

    下面我们将深入探讨如何使用Java实现两个MySQL数据库之间的数据同步,以及涉及的相关知识点。 首先,我们需要理解MySQL的复制原理。MySQL的主从复制是基于日志的,主库上的所有更改都会被记录到二进制日志(binlog...

    使用Kettle同步mysql数据,增量同步教程执行步骤

    在IT行业中,数据同步是一项关键任务,特别是在大数据处理和企业级应用中。本文将深入探讨如何使用Kettle工具实现MySQL数据库之间的增量同步。Kettle,也称为Pentaho Data Integration (PDI),是一款强大的ETL(提取...

    特别有用的MySQL数据实时同步到ES轻松配置手册

    在当今大数据时代,实时数据同步成为许多企业和组织的关键需求,特别是从关系型数据库如 MySQL 到分布式搜索引擎如 ElasticSearch(ES)的实时同步。本文将详细介绍如何利用灵蜂数据集成软件 BeeDI 实现这一目标。 ...

    Mysql5.7数据同步配置文档

    1. **确认MySQL版本一致**:用于同步的MySQL版本需要保持一致,这是实现数据同步的基础条件之一。 2. **确保初始数据一致性**:参与同步的数据库的初始数据需要完全一致,这一点对于避免同步过程中的数据不一致问题...

    使用Kettle同步mysql数据,增量同步

    在处理MySQL数据库的数据同步任务时,Kettle能够提供增量同步的功能,有效实现数据的实时更新。增量同步通常指的是只同步自上次同步以来发生改变的数据,而不是对整个数据库内容进行全量同步,这样能够节省网络带宽...

    canal实现mysql到ES数据实时同步

    - 观察Canal Server和Adapter的日志,确认数据同步是否正常。 - 使用Elasticsearch的查询语句验证数据是否已正确写入。 在实际应用中,还需要考虑一些高级特性,如数据过滤(只同步部分表或部分列)、数据一致性...

    Java开发案例springboot-整合flink-cdc-connectors实现MySQL实时数据同步-源代码+文档

    Java开发案例springboot-整合flink-cdc-connectors实现MySQL实时数据同步-源代码+文档 Java开发案例springboot-整合flink-cdc-connectors实现MySQL实时数据同步-源代码+文档 Java开发案例springboot-整合flink-cdc-...

    mysql 主从 数据同步

    ### MySQL主从数据同步知识点详解 #### 一、MySQL主从复制原理及配置步骤 **主从复制**是MySQL的一项重要特性,它允许用户将一台MySQL服务器(主服务器)的数据实时复制到另一台或多台MySQL服务器(从服务器)。...

    java多个数据库实现数据同步

    7. **微服务架构**:在微服务中,每个服务通常维护自己的数据库,通过API Gateway或Service Mesh进行服务间的通信,实现数据同步。这种方法强调服务自治,但需要良好的服务间协调机制。 在实现过程中,需要注意以下...

    Java开发springboot-整合mysql-binlog-connector-java实现MySQL数据同步-源代码+文档

    Java开发springboot-整合mysql-binlog-connector-java实现MySQL数据同步-源代码+文档 Java开发springboot-整合mysql-binlog-connector-java实现MySQL数据同步-源代码+文档 Java开发springboot-整合mysql-binlog-...

    jdbc java mongodb mysql 相互同步

    4. **数据迁移工具**:例如Flyway和 Liquibase,用于数据库版本管理和迁移,它们可以在特定条件下运行SQL脚本或自定义Java代码,实现数据同步。 5. **手动编程**:直接编写Java代码,通过JDBC和MongoDB Java Driver...

    docker使用Canal实现ClickHouse实时同步MySQL数据

    docker使用Canal实现ClickHouse实时同步MySQL数据

    跨服务器增量同步mysql表数据的shell实现

    这个脚本实现了跨服务器增量同步mysql数据的功能,可以同步多个表。 在使用这个脚本的时候需要注意有修改的地方就是源表配置、目标表配置需要修改成自己的服务器和登录mysql数据库的用户名和密码。基础配置中需要...

    如何在两台MySQL数据库间实现同步

    在开发环境中,有时需要在两台MySQL数据库之间实现数据同步,以确保数据的一致性和冗余。本教程将详细介绍如何在两台运行相同系统(FreeBSD 5.4)和软件(Apache 2.0.55、PHP 4.4.0、MySQL 4.1.15)的服务器上配置...

    MySQL.rar_mysql 数据同步_数据同步

    MySQL的数据同步主要通过复制技术实现,分为异步复制、半同步复制和全同步复制三种模式。双向数据同步则是让两个或多个MySQL实例之间互相复制数据,确保所有节点上的数据保持一致。以下我们将详细讲解这一过程。 1....

Global site tag (gtag.js) - Google Analytics