Welcome 微信登录

首页 / 数据库 / MySQL / MySQL 主从复制,只复制单库时无法复制在其他库上的执行的写入操作

因为业务需要,主从复制时,只须复制主服务器上某个库的数据,此时设置replicate-do-db=db_name,就可以了.不过在校验数据的时候发现漏掉N多数据....检查主库binlog文件,发现很多写操作都不是在本库执行的,比如我只复制主服务器上的A库,可是有很多写入操作都是在B库上执行的,这样这些写入操作全部都丢失了.....查看dev.mysql.com找到replicate-wild-do-table=db_name.%,将它添加到从库mysql.cnf,重启,问题依旧....最后,将replicate-do-db=db_name注释掉,再次测试成功.下面是测试代码:
 
  1. package com.gyyx.service;  
  2.   
  3. import java.sql.Connection;  
  4. import java.sql.SQLException;  
  5.   
  6. import com.gyyx.commons.Log;  
  7. import com.gyyx.dbutility.Ibatis;  
  8.   
  9. /** 
  10.  * only for test 
  11.  * @author tudou@gyyx 
  12.  * 2012-02-21 
  13.  */  
  14. public class TestService {  
  15.   
  16.     /** 
  17.      * @param args 
  18.      * @throws   
  19.      */  
  20.     public static void main(String[] args) {  
  21.         // TODO Auto-generated method stub   
  22.         Connection conn = null;  
  23.         Connection testconn = null;  
  24.         try {  
  25.             conn = Ibatis.getConn("161repl");  
  26.             testconn = Ibatis.getConn("161test");  
  27.             forint i=0;i<10*10000;i++){  
  28.                 String sql="insert into test.ibdtest (fid,content,mark) values ("+i+","sldkjfdsrtytpoytryitryxcvbvcbvcb","sdfhwefeiouhskjdfkdsjfsdf")";  
  29.                 String repsql="insert into reptest.ibdtest (fid,content,mark) values ("+i+","sldkjfdsrtytpoytryitryxcvbvcbvcb","sdfhwefeiouhskjdfkdsjfsdf")";  
  30.                   
  31.                 Ibatis.executeNonQuery(conn, sql);  
  32.                 Ibatis.executeNonQuery(conn, repsql);  
  33.                   
  34.                 sql="insert into ibdtest (fid,content,mark) values ("+i+","sldkjfdsrtytpoytryitryxcvbvcbvcb","sdfhwefeiouhskjdfkdsjfsdf")";  
  35.                 repsql="insert into ibdtest1 (fid,content,mark) values ("+i+","sldkjfdsrtytpoytryitryxcvbvcbvcb","sdfhwefeiouhskjdfkdsjfsdf")";  
  36.                   
  37.                 Ibatis.executeNonQuery(testconn, sql);  
  38.                 Ibatis.executeNonQuery(testconn, repsql);  
  39.             }  
  40.         } catch (SQLException e) {  
  41.             Log.logError(e);  
  42.         }finally{  
  43.             try {  
  44.                 conn.close();  
  45.                 testconn.close();  
  46.             } catch (SQLException e) {  
  47.                 Log.logError(e);  
  48.             }  
  49.         }  
  50.     }  
  51.   
最后的测试图: 主库数据从库数据MySQL 数据库清理MyISAM Innodb表Oracle 识别IO 竞争和负载平衡相关资讯      MySQL数据库教程  MySQL主从复制 
  • CentOS搭建MySQL主从复制,读写分  (今 07:44)
  • MySQL主从复制原理应用基础  (08月27日)
  • MySQL主从复制 实践  (08月22日)
  • MySQL主从复制出现1205错误  (08月31日)
  • MySQL 主从复制原理  (08月22日)
  • 使用XtraBackup进行MySQL不锁表主  (08月09日)
本文评论 查看全部评论 (0)
表情: 姓名: 字数