online prescription solutions
online discount medstore
pills online
buy lorazepam without prescription
xanax for sale
buy xanax without prescription
buy ambien without prescription
ambien for sale
buy modafinil without prescription
buy phentermine without prescription
modafinil for sale
phentermine for sale
lorazepam for sale
buy lexotan without prescription
bromazepam for sale
xenical for sale
buy stilnox without prescription
valium for sale
buy prosom without prescription
buy mefenorex without prescription
buy sildenafil citrate without prescription
buy adipex-p without prescription
librium for sale
buy restoril without prescription
buy halazepam without prescription
cephalexin for sale
buy zoloft without prescription
buy renova without prescription
renova for sale
terbinafine for sale
dalmane for sale
buy lormetazepam without prescription
nobrium for sale
buy klonopin without prescription
priligy dapoxetine for sale
buy prednisone without prescription
buy aleram without prescription
buy flomax without prescription
imovane for sale
adipex-p for sale
buy niravam without prescription
seroquel for sale
carisoprodol for sale
buy deltasone without prescription
buy diazepam without prescription
zopiclone for sale
buy imitrex without prescription
testosterone anadoil for sale
buy provigil without prescription
sonata for sale
nimetazepam for sale
buy temazepam without prescription
buy xenical without prescription
buy famvir without prescription
buy seroquel without prescription
rivotril for sale
acyclovir for sale
loprazolam for sale
buy nimetazepam without prescription
buy prozac without prescription
mogadon for sale
viagra for sale
buy valium without prescription
lamisil for sale
camazepam for sale
zithromax for sale
buy clobazam without prescription
buy diflucan without prescription
modalert for sale
diflucan for sale
buy alertec without prescription
buy zyban without prescription
buy serax without prescription
buy medazepam without prescription
buy imovane without prescription
mefenorex for sale
lormetazepam for sale
prednisone for sale
ativan for sale
buy alprazolam without prescription
buy camazepam without prescription
buy nobrium without prescription
mazindol for sale
buy mazindol without prescription
buy mogadon without prescription
buy terbinafine without prescription
diazepam for sale
buy topamax without prescription
cialis for sale
buy tafil-xanor without prescription
buy librium without prescription
buy zithromax without prescription
retin-a for sale
buy lunesta without prescription
serax for sale
restoril for sale
stilnox for sale
lamotrigine for sale

Oh dear MySQL slave, where did you put those rows?

I need help from my fellow mysql users.  I know some of the people who read this are alot better then me with mysql so hopefully you can help :)

So today we decided that we are going to migrate one of our master database servers to new hardware.  Since we got the hardware this morning and we wanted to move on to it asap, we decided that we will take our slave down, copy data from it, and bring it up on future master server.  At that point, we will let it run as slave to the current master server until its time for us to take it down.  Reason we did that instead of mysqldump/import was to avoid the lag mysqldump creates on our server.

After we did all this and put up the new master server, we started to notice odd issues.  After looking around and comparing old db with new, we found out that new db was missing data.  How it happened is beyond me and is the reason why I am writing this.  We never had issues with the slave which would cause data to be lost; so what happened to those missing rows?  Is this something which is common?  Can we not trust our slave enough to use it as master if master died?  Can we not run backups off the slave with confident that our data is protected and up to date so to keep load down on our master?  All these questions which keep me awake and wondering…

6 Responses to “ Oh dear MySQL slave, where did you put those rows? ”

  1. May 17th, 2008 | 4:42 am

    Alas, no you cannot trust slaves. You must check them. Hence Maatkit: mk-table-checksum and mk-table-sync.

  2. Mark Robson
    May 17th, 2008 | 7:16 am

    You MUST monitor mysql slaves all the time using something such as mk-table-checksum – otherwise there is no guarantee they will stay in sync even if initially there.

    There are many possible reasons for this, the mysql manual explains some of them. Most of them are to do with the application’s design, others are shortcomings in mysql itself.

    Using row-based replication on 5.1 + might be better, but it still won’t be guaranteed – you’ll want to continue checking.


  3. May 18th, 2008 | 7:58 am

    This is why you can never trust slaves. Maatkit is a very valuable tool but only suitable for small-medium sized databases.

  4. May 18th, 2008 | 7:56 pm

    Frank: what do you use for large databases if that tool is not suitable for it?

    Xaprb/Mark: Thanks for you comments. Good to know it is not something I mis configured and it is a known issue.

  5. May 23rd, 2008 | 6:36 pm

    Well… define small. That means different things to different people. The mk-table-checksum tools are suitable for 100GB or so of data, depending on your performance needs.

  6. May 24th, 2008 | 12:49 am

    From all the people I have talked to (mostly mysql consultants), they have never had issues with mk-table-checksum running on any of the dbs they used it on. I really don’t think I need to be concerned with the size at this time. Since Baron mentioned 100gb of data and none of my dbs are there (biggest one is close to 40 gigs), I will use this tool until I start to see performance issues.

Leave a reply

To prove that you're not a bot, enter this code
Anti-Spam Image