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
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
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
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
schema/database currently in use when a DDL …
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
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 on 127.0.0.1 with ports ranging from 10000 for s0 to 10004 for s4.
Scenario #1: All slaves have processed all the writes
This is the easiest case, we will …
[Read more]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:
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 nevertheless it’s quite …
[Read more]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[Read more]
$ cd ~/downloads
$ wget …
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 necessarily.
For this type of query, it primarily refers to the fact that without …
[Read more]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!
Global Transactions Identifiers are one of the new features regarding replication in MySQL 5.6. They open up a lot of opportunities to make the life of DBAs much easier when having to maintain servers under a specific replication topology. However you should keep in mind some limitations of the current implementation. This post is the first one of a series of articles focused on the implications of enabling GTIDs on a production setup.
The manual describes very nicely how to switch to GTID-based replication, I won’t repeat it.
Basically the steps are:
Now that I'm back doing just database stuff, I've come to realize I've gotten a little sloppy about doing my homework. Homework's never been my favorite thing in the world, but it often reduces stress when your under the gun during an outage or upgrade...
We had a MySQL database server that's been slow on DML changes, and based on the slowest statements being 'COMMIT', we had a good mind