Planet MySQL Planet MySQL: Meta Deutsch Español Français Italiano 日本語 Русский Português 中文
Showing entries 1 to 10 of 679 10 Older Entries

Displaying posts with tag: Replication (reset)

Refactoring replication topologies with Pseudo GTID: a visual tour
+0 Vote Up -0Vote Down

Orchestrator 1.2.1-beta supports Pseudo GTID (read announcement): a means to refactor the replication topology and connect slaves even without direct relationship; even across failed servers. This post illustrates two such scenarios and shows the visual way of mathcing/re-synching slaves.

Of course, orchestrator is not just a GUI tool; anything done with drag-and-drop is also done via web API (in fact, the drag-and-drop invoke the web API) as well as via command line. I'm mentioning this as this is the grounds for failover automation planned for the future.

Scenario 1: the master unexpectedly dies

The

  [Read more...]
Orchestrator 1.2.1 BETA: Pseudo GTID support, reconnect slaves even after master failure
+0 Vote Up -0Vote Down

orchestrator 1.2.1 BETA is released. This version supports Pseudo GTID, and provides one with powerful refactoring of one's replication topologies, even across failed instances.

Depicted: moving a slave up the topology even though its local master is inaccessible

Enabling Pseudo-GTID

You will need to:

  • Inject a periodic
  •   [Read more...]
    Refactoring replication topology with Pseudo GTID
    +0 Vote Up -0Vote Down

    This post describes in detail the method of using Pseudo GTID to achieve unplanned replication topology changes, i.e. connecting two arbitrary slaves, or recovering from a master failure even as all its slaves are hanging in different positions.

    Please read Pseudo GTID and Pseudo GTID, RBR as introduction.

    Consider the following case: the master dies unexpectedly, and its three slaves are all hanging, not necessarily at same binary log file/position (network broke down while some slaves managed to salvage more entries into their relay logs than others)

      [Read more...]
    Pseudo GTID, Row Based Replication
    +0 Vote Up -0Vote Down

    This post continues Pseudo GTID, in a series of posts describing an alternative to using MySQL GTIDs.

    The solution offered in the last post does not work too well for row based replication. The binary log entries for the INSERT statement look like this:

    # at 1020
    # at 1074
    #141020 12:36:21 server id 1  end_log_pos 1074  Table_map: `test`.`pseudo_gtid` mapped to number 33
    #141020 12:36:21 server id 1  end_log_pos 1196  Update_rows: table id 33 flags: STMT_END_F
    
    BINLOG '
    lddEVBMBAAAANgAAADIEAAAAACEAAAAAAAEABHRlc3QAC3BzZXVkb19ndGlkAAMDBw8CQAAE
    lddEVBgBAAAAegAAAKwEAAAAACEAAAAAAAEAA///+AEAAACL10RUJDg2ZmRhMDk1LTU4M2MtMTFl
    NC05NzYyLTNjOTcwZWEzMWVhOPgBAAAAlddEVCQ4Y2YzOWMyYy01ODNjLTExZTQtOTc2Mi0zYzk3
    MGVhMzFlYTg=
    '/*!*/;
    

    Where's our unique value? Encoded within

      [Read more...]
    MySQL Crash-safe replication, Binlog Servers and Percona Live London
    +2 Vote Up -0Vote Down
    I just publish a post on the Booking.com blog: http://blog.booking.com/better_crash_safe_replication_for_mysql.html  Spoiler: it uses Binlog Servers.

    This is also the opportunity to tell you that I will be at Percona Live London at the beginning of November, and that I will give a talk about Binlog Servers: High Availability, Disaster Recovery and Extreme Read Scaling using Binlog Servers.  I will not talk too much about Binlog Server for crash-safe replication, but I will present a new use-case for Binlog Servers that I did not blog about yet.  I am looking forward to meet you there.
    Making UUID() and RAND() replication safe
    +1 Vote Up -0Vote Down

    MySQL's UUID() and RAND() functions both provide with (pseudo) indeterministic result. UUID()'s result is moreover bound to the host on which it executes. For this reason, both are unsafe to replicate with STATEMENT binlog format. As an example, consider:

    master> create table test.uuid_test (id int, u varchar(64));
    
    master> insert into test.uuid_test values (1, UUID());
    Query OK, 1 row affected, 1 warning (0.03 sec)
    
    master> select * from test.uuid_test;
    +------+--------------------------------------+
    | id   |
      [Read more...]
    MySQL 5.7.5-labs: Multi-source Replication
    Employee_Team +1 Vote Up -0Vote Down

    Multi-source replication for MySQL has been released as a part of 5.7.5-labs-preview
    downloadable from labs.mysql.com. It is one among the several features that are
    cooking in the replication technologies at MySQL.  (For a birds eye view of all
    replication features introduced in 5.7 and labs, look  at the blog posts here and here.

    Previously, we have introduced a preliminary multi-source feature labs




      [Read more...]
    orchestrator 1.1.18: new features, support for orchestrator-agent
    +0 Vote Up -0Vote Down

    Outbrain's orchestrator 1.1.18 is released:

    • Support for orchestrator-agent (see announcement): agent pages, support for agent actions, initiation of seeds (provisioning of new/corrupted servers), auditing of seeds.
    • Clusters dashboard
    • Support for long query auditing
    • SSL
    • Proxy authentication (e.g. apache2 serving as reverse-proxy with LDAP)
    • User control
    • Better slave moving rules.

    Quick links:

      [Read more...]
    Announcing orchestrator-agent
    +0 Vote Up -0Vote Down

    orchestrator-agent is a side-kick, complementary project of orchestrator, implementing a daemon service on one's MySQL hosts which communicates with and accepts commands from orchestrator, built with the original purpose of providing an automated solution for provisioning new or corrupted slaves.

    It was built by Outbrain, with Outbrain's specific use case in mind. While we release it as open source, only a small part of its functionality will appeal to the public (this is why it's not strictly part of the orchestrator project, which is a general purpose, wide-audience solution). Nevertheless, it is a simple implementation of a daemon, such that can be easily extended by

      [Read more...]
    Exorcising the CAP Demon
    +0 Vote Up -0Vote Down
    Computer science is like an enormous tool box you can rummage through whenever you have a problem to solve. Most of the tools are sturdy and practical, like algorithms for B-trees. Some are also elegant, like consistent hashing in Dynamo. Finally there are some tools that you never quite figure out even after years of reflection. That piece of steel you are looking at could be Excalibur. Or it could be a rusty knife.

    The CAP theorem falls into the last category, at least for me.  It was a major topic in the blogosphere a few years ago and Google Trends shows steadily increasing interest in the term since 2010.  It's not my goal to explain CAP fully--a good informal description is

      [Read more...]
    Showing entries 1 to 10 of 679 10 Older Entries

    Planet MySQL © 1995, 2014, Oracle Corporation and/or its affiliates   Legal Policies | Your Privacy Rights | Terms of Use

    Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.