Home |  MySQL Buzz |  FAQ |  Feeds |  Submit your blog feed |  Feedback |  Archive |  Aggregate feed RSS 2.0 English Deutsch Español Français Italiano 日本語 Русский Português 中文
Previous 30 Newer Entries Showing entries 61 to 90 of 629 Next 30 Older Entries

Displaying posts with tag: Replication (reset)

Writing a Fault-tolerant Database Application using MySQL Fabric
Employee +0 Vote Up -0Vote Down
In this post, we are going to show how to develop fault-tolerant applications using MySQL Fabric, or simply Fabric, which is an approach to building high availability sharding solutions for MySQL and that has recently become available for download as a labs release (http://labs.mysql.com/). We are going to focus on Fabric's high availability aspects but to find out more on sharding readers may check out the following blog post:

  [Read more...]
It's all about bugs fixed: MySQL 5.6.14
+0 Vote Up -0Vote Down
Most of MySQL gurus and famous users are probably in San Francisco now, getting ready for fun at MySQL Connect. Part of that fun should come from the announcement of great new MySQL 5.6.14 release (that somewhat silently happened yesterday).

I am sitting at home though and I've seen at best 3 sunny days in September. The rest of the time it rains, so hardly I can do anything more funny and useful than review of MySQL bug reports even during my weekend. Let me try to tell you what MySQL 5.6.14 is really about and what you should expect from it based on the list of bugs fixed. Please, do not blame me if my summary would be different from the upcoming keynotes at MySQL Connect. It rains here...


I'll use good old approach of checking my older posts




  [Read more...]
Failover Techniques for MySQL
+0 Vote Up -0Vote Down
The occurrence of failures and crashes can compromise the high availability of your database system affecting your revenue and reputation. Therefore, it is fundamental to minimize downtime and have an efficient strategy for crash recovery.

Replication and failover are commonly applied to deal with those situations. However, other types of failures can also affect the recovery process. In fact, the occurrence of unanticipated faults can really be an headache! Thus, it is better to be prepared and implement a good fault-tolerant failover strategy.

Performing failover is not trivial. It requires the execution of several steps in order to ensure data consistency (i.e., no data loss) -- especially if the "best" candidate to become the new master is not the most up-to-date.

Note that, one might desire that the slave with the best hardware





  [Read more...]
5 reasons why MySQL replication lag is flapping between 0 and XXXXX
+0 Vote Up -0Vote Down

Working day to day with Percona Remote DBA customers, we have been facing an issue from time to time when MySQL replication lag is flapping between 0 and XXXXX constantly – i.e. Seconds_Behind_Master is 0 for a few secs, then it’s like 6287 or 25341, again 0 and so on. I would like to note the 5 different scenarios and symptoms of this – some are obvious and some are not really.

1. Duplicate server-ids on two or more slaves.

Symptoms: MySQL error log on a slave shows the slave thread is connecting/disconnecting from a master constantly.
Solution: check whether all nodes in the replication have unique

  [Read more...]
MySQL Cluster Asynchronous Replication – conflict detection & resolution
Employee +3 Vote Up -0Vote Down

I was rooting through past blog entries and I stumbled accross a draft post on setting up multi-master (update anywhere) asynchronous replication for MySQL Cluster. The post never quite got finished and published and while the material is now 4 years old it may still be helpfull to some and so I’m posting it now. Note that a lot has happened with MySQL Cluster in the last 4 years and in this area, the most notable change has been the Enhanced conflict resolution with MySQL Cluster active-active replication feature introduced in MySQL Cluster 7.2 and if you’re only dealing with a pair of Clusters, that’s your best option as it removed the need for you

  [Read more...]
Shi...pment happens - Tungsten Replicator 2.1.2
+3 Vote Up -0Vote Down

It was just a few days ago that we announced, with celebratory enthusiasm, Tungsten Replicator 2.1.1, and today we are at it again, with Tungsten Replicator 2.1.2.

What happened? In a surfeit of overconfidence, we released Tungsten 2.1.1, with faith on the test suite and its result. The faith was justified, as the test suite was able to catch any known problem and regression. The overconfidence was unjustified, because, due to a series of unfortunate events, some sections of the test suite were accidentally disabled, and the regression that was lurking in the dark was not caught.

Therefore, instead of having a quiet post-release week-end, the whole team

  [Read more...]
Going to MySQL Connect 2013
Employee +2 Vote Up -0Vote Down


MySQL Connect 2013 is coming up with several interesting new sessions. Some sessions that I am participating in got accepted for the conference, so if you are going there, you might find the following sessions interesting. For your convenience, the sessions have hCalendar markup, so it should be easier to add them to your calendar.

MySQL Sharding, Replication, and HA (September 21, 5:30-6:30pm in Imperial Ballroom B)

This session is an opportunity for you to meet the MySQL engineering team and discuss the latest tools and best practices for sharding MySQL across distributed





  [Read more...]
Cloning MySQL 5.6 instances
+1 Vote Up -0Vote Down

A tip for all those cloud users that like cloning database servers (as reported in my book Effective MySQL – Replication Techniques in Depth).

Starting with MySQL 5.6, MySQL instances have a UUID. Cloning servers to quickly create slaves will result in the following error message.

mysql> SHOW SLAVE STATUS\G
...
  Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
...

The solution is simple. Clear our the file based configuration file (located in the MySQL datadir) and restart the MySQL instance.

$ rm -f /mysql/data/auto.cnf
$ service mysql restart
Tungsten-Replicator 2.1.1 with better installation and built-in security
+1 Vote Up -0Vote Down


UPDATE 2013-08-30: Tungsten 2.1.2 was released.

UPDATE 2013-08-23: We have found a few problems that happen when replicating with RBR and temporal columns. We will have to publish an updated bugfix release quite soon.

Tungsten Replicator 2.1.1 is out. Key features in this release are:

  • A better installer, of which we have already given a preview in tpm, the multi-master composer. The new installer allows faster and more powerful deployments of both single and multiple masters topologies. And it also allows the next feature:
  • Secured communication layer. Now the replicator data and

  [Read more...]
Using Continuent Tungsten to Survive MySQL Failures, at Percona University
+0 Vote Up -0Vote Down
If you are in Washington DC area, don't miss Jeff Mace talk about using Continuent Tungsten to survive MySQL failures. Join us September 12, 2013 for Percona University in Washington, DC. This full-day event will provide you with deep insights into MySQL as well as an opportunity to network with the local MySQL community. The practical knowledge you'll receive will help you be more successful in
Third party solutions for master-master replication in MySQL
+0 Vote Up -0Vote Down
Two of the more popular solutions are  MySQL Master HA and Percona Replication Manager. MySQL Master HA MHA is based on a set of Perl scripts that monitors for replication and server health. When a failover scenario will happen, it Continue reading →   [Read more...]
phpMyAdmin breaks Replication in MySQL 5.6
+0 Vote Up -0Vote Down

Recently i updated to MySQL 5.6 and we were really excited about the very good overall performance. But beside a major bug concerning wrong results when running a SELECT that includes a HAVING based on a function (see http://bugs.mysql.com/bug.php?id=69638) we also noticed that from time to time the replication breaks with the following error:

Last_SQL_Errno: 1590
Last_SQL_Error: The incident LOST_EVENTS occured on the master. Message: error writing to the binary log

After some investigation it seemed like this happens if one modifies some user privileges, so we stumbled upon http://bugs.mysql.com/bug.php?id=68892.

Essentially the bug report says that if you use the wrong syntax for GRANT-statements the

  [Read more...]
Fun with Bugs #22 - Some Bug Reports You Should Not Miss
+0 Vote Up -0Vote Down
Yet another user installed MySQL 5.5.32 yesterday and got a system that can not start... It's really easy to help in this case - just downgrade back to 5.5.31 or upgrade to 5.5.33 if you can. Why problem happened during upgrade? Because of a regression bug #69623.

This case that was easily solved during a quick chat reminded me about the problem of bugs in production. Nobody expects any sane DBA to review every new bug report, but some of them should not be missed, at least when upgrading to any newer version. Regression bugs (I see 15

  [Read more...]
Morning Reading: Database Players to Watch
+0 Vote Up -0Vote Down

Catching up on our reading today, we saw a blog post from Chris Stevens, the multi-faceted VP of Engineering at Traxo, technology consultant, and Full Stack developer. In his post, he notes some of the impressive new database technologies he’s seeing lately in tech blogs and on the conference circuit.

Chris says that when it makes sense he advises his clients to look at non-relational datatstores, but for a number of reasons he works with MySQL wherever possible. Many of his clients looking to run globally distributed applications often need to distribute the database across more than one data center (geo-distribution) for fault tolerance and localized performance.

“Globally distributed applications often require localized performance,” he said in his post. “We can do

  [Read more...]
MySQL Utilities Webinar – Q&A + replay now available
Employee +5 Vote Up -0Vote Down

Dr Charles Bell and I recently presented a webinar on MySQL Utilities; there was a heavy focus on what you can acheive with them and how you should use them. In case you couldn’t attend or want to listen to some of the details again, the replay from that webinar is available here.

Abstract:

MySQL Utilities provide a collection of command-line utilities that are used for maintaining and administering MySQL databases, including:

  • Admin Utilities (Clone, Copy,
  [Read more...]
tpm, the multi-master composer
+1 Vote Up -0Vote Down

Multi master topologies blues

Tungsten Replicator is a powerful replication engine that, in addition to providing the same features as MySQL Replication, can also create several topologies, such as

  • all-masters: every master in the deployment is a master, and all nodes are connected point-to-point, so that there is no single point of failure (SPOF).
  • fan-in: Several masters can replicate into a single slave;
  • star: It’s an all-masters topology, where one node acts as hub which simplifies the deployment at the price of creating a SPOF.

The real weakness of these topologies is that they don’t come together easily. Installation requires several commands, and running them unassisted is a daunting task. Some time ago, we introduced a set of scripts (the Tungsten Cookbook) that allow you to

  [Read more...]
MySQL multi-master operations made simple with Tungsten Replicator 2.1
+0 Vote Up -0Vote Down
Summer is flying by and it's almost time to get back to school! We will be continuing our Tungsten University series on August 22nd, with a live webcast "MySQL Multi-Master Operations Made Simple With Tungsten Replicator 2.1".  Deployment of MySQL multi-master topologies with Tungsten Replicator has been constantly improving. Yet, earlier there were some heavy operations to sustain, and
Some of my MySQL Forge snippets are resurfacing
+1 Vote Up -0Vote Down

Some time ago, MySQL Forge went offline.

As part of the Forge dismissal operations, I got a backup of my snippets from the MySQL community team, and I have been lazily looking around for an alternative place where to put them.

I found such a place: Github GIST
Gist is a simple way to share snippets and pastes with others. All gists are git repositories, so they are automatically versioned, forkable and usable as a git repository.

Out of my 25 snippets, these are the ones that still look useful (at least, people have been asking me about those).











  [Read more...]
Fun with Bugs #13 - MySQL replication and two-way communication
+2 Vote Up -0Vote Down
I hope you had noted this already, but in case you missed it, please, read this post by Matt Lord and check any bug at http://bugs.mysql.com. As soon as you log in to your Oracle account, you can vote for bugs and feature requests! I hope that eventually somebody will publish lists of "Top N Most Wanted" fixes based on number of users who clicked on this great "Affects Me" button.

If you plan to use this new feature to express your needs while given a chance, why not to start with replication-related bugs in latest and greatest MySQL 5.6.12? Here is my "Top 10" list (starting with recently reported):
  • Bug #69444 -



  •   [Read more...]
    Welcome Tungsten Replicator 2.1.0!
    +3 Vote Up -0Vote Down

    Overview


    First off, the important news. Tungsten Replicator 2.1.0 was released today.
    You can download it and give it a try right now.


    Second, I would say that I am quite surprised at how much we have done in this release. The previous release (2.0.7) was in February, which is just a few months ago, and yet it looks like ages when I see the list of improvements, new features and bug fixes in the Release Notes. I did not realized it until I ran my last batch of checks to test the upgrade from the previous release, which I hadn’t run for quite a long





      [Read more...]
    Replication Renaming Schemas, Tables and Columns
    +0 Vote Up -0Vote Down
    Schema definitions on replication slaves sometimes differ. Ability to rename schemas, tables and columns and still setup replication with comfort is useful for MySQL to MySQL replication, while for heterogeneous topologies like these, it's a must. In this article I'll present a component which I recently developed to enable an easy way of renaming database objects during both (a) initial slave load (provisioning) and (b) real-time replication.

    It is called RenameFilter and is part of the latest Tungsten Replicator build. RenameFilter works with all DBMS types that Replicator supports.

    Specifying What to Rename


    First, let's look at how rename definitions file looks like. It is a CSV file which




      [Read more...]
    Getting started with replication from MySQL to Mongodb
    +0 Vote Up -0Vote Down
    Use tungsten replicator to replicate between mysql and mongodb. Mysql tables are equivalent to collections in mongodb. The replication works by replicating inserts and updates. But all DDL statements on mysql are ignored... Replication in detail
    DDL statements in MySQL 5.x with row-based replication
    +0 Vote Up -0Vote Down
    In the replication topology I manage there are many layers of replication filters that prune data at the database and in a few places table level. The way MySQL replicates Data Definition Language (create, alter, drop) statements differs from how Data Manipulation Language (insert, update, delete) statements are handled with row-based replication. I often need to fix broken replication due to a lack of understanding of these subtle differences.

    With row-based replication DML statements focus directly on the table being modified. DDL on the other hand always uses statement-based replication and is tied to what is known in MySQL as the "default database". The default database is the

      [Read more...]
    Tungsten University: Load a Vertica data warehouse with MySQL data
    +0 Vote Up -0Vote Down
      Continuent Tungsten offers real-time replication from MySQL to a variety of DBMS types including Vertica. In this Tungsten University webcast we will show you the details of setting up MySQL-to-Vertica replication, including the following topics: Introduction to Continuent Tungsten features for data warehouse loading Installation for MySQL to Vertica replication Best practices for
    Replication in MySQL 5.6: GTIDs benefits and limitations – Part 2
    +2 Vote Up -0Vote Down

    The main benefit of using GTIDs is to have much easier failover than with file-based replication. We will see how to change the replication topology when using GTID-based replication. That will show where GTIDs shine and where improvements are expected.

    This is the second post of a series of articles focused on MySQL 5.6 GTIDs. You can find part one here.

    Our goal will be to go from setup #1 to setup #2 on the picture below, following various scenarios:

    For these tests, all servers are running

      [Read more...]
    Temporary Tables and Replication
    +2 Vote Up -0Vote Down

    I recently wrote about non-deterministic queries in the replication stream. That’s resolved by using either MIXED or ROW based replication rather than STATEMENT based.

    Another thing that’s not fully handled by STATEMENT based replication is temporary tables. Imagine the following:

  • Master: CREATE TEMPORARY TABLE rpltmpbreak (i INT);
  • Wait for slave to replicate this statement, then stop and start mysqld (not just STOP/START SLAVE)
  • Master: INSERT INTO rpltmpbreak VALUES (1);
  • Slave: SHOW SLAVE STATUS \G
  • If for any reason a slave server shuts down and restarts after the temp table creation, replication will break because the temporary table will no longer exist on the restarted slave server. It’s obvious when you think about it, but

      [Read more...]
    Getting started with replication from MySQL to MongoDB
    +1 Vote Up -0Vote Down

    As you probably know, Tungsten Replicator can replicate data from MySQL to MongoDB. The installation is relatively simple and, once done, replication works very well. There was a bug in the installation procedure recently, and as I was testing that the breakage has been fixed, I wanted to share the experience of getting started with this replication.

    Step 1: install a MySQL server

    For this exercise, we will use a MySQL sandbox running MySQL 5.5.31.

    We download the binaries from dev.mysql.com and install a sandbox, making sure that it is configured as master, and that it is used row-based-replication.

    $ mkdir -p $HOME/opt/mysql
    $ cd ~/downloads
    $ wget

      [Read more...]
    MySQL Applier For Hadoop: Implementation
    Employee +4 Vote Up -0Vote Down

    This is a follow up post, describing the implementation details of Hadoop Applier, and steps to configure and install it. Hadoop Applier integrates MySQL with Hadoop providing the real-time replication of INSERTs to HDFS, and hence can be consumed by the data stores working on top of Hadoop. You can know more about the design rationale and per-requisites in the previous post.

    Design and Implementation:

    Hadoop Applier replicates rows inserted into a table in MySQL to the Hadoop Distributed File System(HDFS). It uses an API provided by libhdfs, a C library to manipulate files in HDFS.

    The library comes pre-compiled with Hadoop distributions.It






      [Read more...]
    Non-Deterministic Query in Replication Stream
    +0 Vote Up -0Vote Down

    You might find a warning like the below in your error log:

    130522 17:54:18 [Warning] Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statements writing to a table with an auto-increment column after selecting from another table are unsafe because the order in which rows are retrieved determines what (if any) rows will be written. This order cannot be predicted and may differ on master and the slave.
    Statement: INSERT INTO tbl2 SELECT * FROM tbl1 WHERE col IN (417,523)

    What do MariaDB and MySQL mean with this warning? The server can’t guarantee that this exact query, with STATEMENT based replication, will always yield identical results on the slave.

    Does that mean that you have to use ROW based (or MIXED) replication? Possibly, but not


      [Read more...]
    MySQL at DrupalCamp, Goteborg - Sweden
    Employee_Team +0 Vote Up -0Vote Down

    DrupalCamp Conference is hold in Göteborg, Sweden on May 25, 2013.

    MySQL is part of this show and I would like to invite you to our session on "Scalability and Availability with MySQL Replication" given by Sven Sandberg on Saturday-May 25, 2013 @ 13:45-14:25!

    So, if you are close to Göteborg or attending this event, do not forget to come to listen Sven's talk!


    Previous 30 Newer Entries Showing entries 61 to 90 of 629 Next 30 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.