配置基于日志的复制

基本原理

  1. 一台mysql服务器作为master节点,其他服务器作为slave节点。每个节点需要配置全局唯一的server-id
  2. master将操作记录在binary log中,slave同步binary log,通过回放重做来获得master的变更,实现数据复制。

原理图如下:


优缺点

配置过程

  1. 配置master服务器。

    1. my.cnf文件的mysqld节点中新增以下配置并重启服务器。
     [mysqld] 
     server-id=1 //需全局唯一
     log_bin=/home/dalton/d_arch_exp/mysql_cluster/mysql1/mysql-bin.log
     binlog_do_db=test_repl  //可选,默认是所有数据库。可以配置多个数据库。
    
    1. 新建用于同步的用户。要将复制的权限和使用待复制的数据库的权限赋给新用户,没有权限会导致slave无法连接master。
    create user repl_01 identified by 'loveme123';
    grant replication slave on *.* to repl_01;
    grant all privileges on test_repl.* to 'repl_01'@'%';
    flush privileges;
    
  2. 配置slave服务器
    my.cnf文件的mysqld节点新增以下配置。

     [mysqld] 
     server-id=2
     relay-log=/home/dalton/d_arch_exp/mysql_cluster/mysql2/mysql-relay-bin.log
     log_bin=/home/dalton/d_arch_exp/mysql_cluster/mysql2/mysql-bin.log
     binlog_do_db=test_repl
    
  3. 同步基准数据。
    导出master节点待同步数据库的数据,然后导入到slave数据库中。这期间可以给数据库加read lock或者停止数据库,以防止发生其他变更。

    1. 导出数据:
    mysqldump -u root -p --opt test_repl > test_repl.sql
    
    1. 给数据库加锁。这个操作需要重新打开一个mysql终端连到master节点。
    use test_repl;
    FLUSH TABLES WITH READ LOCK;
    
    1. 记录当前使用的日志文件及位置
    SHOW MASTER STATUS;
    

    输出内容如下,使用的文件是mysql-bin.000002,偏移是1253

    +------------------+----------+--------------+------------------+-------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
    +------------------+----------+--------------+------------------+-------------------+
    | mysql-bin.000002 |     1253 | test_repl    |                  |                   |
    +------------------+----------+--------------+------------------+-------------------+
    1 row in set (0.00 sec)
    
    1. 导入数据到slave服务器。
    mysql -u root -p test_repl < test_repl.sql
    
  4. 启动复制。

    1. 在slave节点执行change master操作。
    change master to master_host='127.0.0.1',master_port=3307,master_user='repl_01',master_password='loveme123',master_log_file='mysql-bin.000002',master_log_pos=1253;
    
    1. 启动slave。
    start slave;
    
    1. 查看slave状态。
    show slave status;
    

    如果是以下状态,Slave_IO_RunningSlave_SQL_Running都是Yes,则表明配置ok。

    1. slave都启动好了就可以去掉master上的锁。
    UNLOCK TABLES;
    QUIT;
    
  5. 可能碰到的几个错误

    1. 启动slave后,状态表中显示 Slave failed to initialize relay log info structure from the repository
      解决方法:重置slave。
      reset slave;
      
    2. 启动slave后,状态表中显示 error connecting to master 'repl_01@127.0.0.1:3307' - retry-time: 60 retries: 1
      解决方法:尝试用change master中的参数去连接master节点。一般都是参数或权限不对,导致的连接失败。理论上能正常连接的话slave不会报错。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容