April 17, 2014

Using netcat to copy MySQL Database

This is mainly a cheat sheet for me to remember. Nothing rocket science. It often makes sense to use netcat/nc to copy MySQL database between hosts in trusted networks. It bypasses encryption overhead of SSH and depending on configuration can be significantly faster. Also note MySQL should be down when you copy data unless you’re […]

Open Development vs Making a Big Splash

I find it very interesting how Sun does not get the very basic principle of true community Open Source development – you’ve got to give up on making a big splash. Traditional close source company often develop product in the secret and when it comes out as a surprise for computers and making a big […]

Mass killing of MySQL Connections

Every so often I run into situation when I need to kill a lot of connections on MySQL server – for example hundreds of instances of some bad query is running making server unusable. Many people have special scripts which can take the user, source host or query as a parameter and perform the action. […]

xtrabackup-0.7 (RC)

We announce next version of our xtrabackup tool and we consider it stable enough to put label RC on it. Changelist includes: – use O_DIRECT by default for handling InnoDB files – use posix fadvise call to disable OS caching of copying files – disable recovery of double buffer Also we added binary builds for […]

Hint: throttling xtrabackup

Using xtrabackup for copying files can really saturate your disks, and that why we made special option

to limit rate of IO per second. But it really works when you do local copy. What about stream backup ? Even you copy just to remote box with

, read may be so intensive so […]

MySQL Pays attention to Bugs (Finally!)

I should say I can see results of new engineering/refactoring/bug hunt efforts inside Sun/MySQL. Over last couple of weeks I started getting a lot of messages from the bugs system about bugs I reported long ago which were deferred to be fixed later or were left in open state. Here is example of such a […]

What time 18446744073709550.000 means

Sometimes when you do profiling you can see number like this in timestamps. Periodically in our patches there was Query_time: 18446744073709550.000 in slow.log file (well, it was fixed recently, but still appears in other places). I faced this problem several years ago when only 2-core AMD Opteron systems appeared and I noticed sysbench getting crazy […]

Friday challenge: ibd recovery

I want to make this Friday a bit more interesting – how do you feel to train a bit in InnoDB data recovery techniques. I have .ibd datafile which was created by query CREATE TABLE `tryme` ( `email` mediumblob, `content` mediumblob ) ENGINE=InnoDB … (SOME PARAMETERS SKIPPED) …; and I inserted one record into this […]

Why MySQL’s binlog-do-db option is dangerous

I see a lot of people filtering replication with binlog-do-db, binlog-ignore-db, replicate-do-db, and replicate-ignore-db. Although there are uses for these, they are dangerous and in my opinion, they are overused. For many cases, there’s a safer alternative.

Global Transaction ID and other patches available!

I do not know if you noticed it, but Google (Mark Callaghan, Justin Tolmer and their internal mysql-team) made a great contribution to MySQL. Patches global transaction IDs, binlog event checksums and crash-safe replication state are separated and published on Launchpad (https://code.launchpad.net/~jtolmer/mysql-server/global-trx-ids). For me it was a big wall in using these patches that they […]