Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I manage a MySQL server hosting over 100 databases.

We have set up standard master-slave replication, but the SQL Thread tends to break every so often, and requires manual intervention to re-start it. During this time the servers get out of sync.

I know that there is an option to specify which databases are/not replicated.

Is it possible to set up multiple instances of the replication thread (ideally one per database), so that if the replication breaks (and stops) on one thread, it does not stop the replication on all the rest?

share|improve this question

3 Answers 3

up vote 0 down vote accepted

It is not possible, but read about row-replication format.

Another solution maybe multiple instances of mysql server on same machine, each with own replication thread (but I never tried this solution).

share|improve this answer
    
Multiple instances of mysql server would prohibit load-balancing with the slave (on the standard port), so that is not an option for us. –  Brent Sep 1 '09 at 16:27
    
not to mention that 100 instances of mysql would involve alot of unneccessary overhead! –  Brent Sep 1 '09 at 16:27

The replication thread is single threaded so the statements do not get out of order.

The Continuent folks are trying to improve asynchronous replication with their Tungsten Replicator: http://www.continuent.com/community/tungsten-replicator

I haven't tried it but you might want to check it out. In a recent deck they teased about "Parallel Replication"

Cheers

share|improve this answer
    
Addendum: In a blog post today the Tungsten people wrote: "We are working on getting a full clustering solution out in open source during the week of September 7th." I'd check out what they put forth... –  HTTP500 Sep 1 '09 at 21:17

If the "SQL Thread tends to break every so often", it's likely best to fix the source of the problem(s). Any details on the error(s) you are encountering?

If the source of the problems can't be fixed, or the application is tolerant to the other side-affects of the problem, you could configure the types of errors to ignore via slave-skip-errors. Proceed with caution. :)

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.