One of the more common questions I get asked is which Linux distribution I would use for a MySQL database server. Bearing the responsibility for someone else’s success means I should advise something that is stable, reliable, easy to manage and has plenty of resources available online. It should also allow running MySQL without […]Read more
The problem I am going to describe is likely to be around since the very beginning of MySQL, however unless you carefully analyse and profile your queries, it might easily go unnoticed. I used it as one of the examples in our talk given at phpDay.it conference last week to demonstrate some pitfalls one […]Read more
While the majority of Percona gang travelled to California for the MySQL event of the year, I headed in the opposite direction to Moscow for RIT++ 2010 conference where I presented a talk on Sphinx. You can get the PDF file here – Improving MySQL-based applications performance with Sphinx.
I have been invited to […]Read more
It is a known fact that ext3 is not the most efficient file system out there and for example file removals can be painfully slow and cause a lot of random I/O. However, as it turns out, it can sometimes have a much more severe impact on the MySQL performance that it would seem. […]Read more
Occasionally there is a need to see what queries reach MySQL. The database provides several ways to share that information with you. One is called general log activated with
in MySQL 5.1+) start-up parameter. The log writes any query being executed by MySQL to a file with limited amount of additional […]Read more
Everyone does backups. Usually itâ€™s some nightly batch job that just dumps all MySQL tables into a text file or ordinarily copies the binary files from the data directory to a safe location. Obviously both ways involve much more complex operations than it would seem by my last sentence, but it is not important […]Read more
When running InnoDB you are able to dig into the engine internals, look at various gauges and counters, see past deadlocks and the list of all open transactions. This is in your reach with one simple command —
SHOW ENGINE InnoDB STATUS
SHOW ENGINE InnoDB STATUS
. On most occasions it works beautifully. The problems appear […]Read more
A few weeks ago I was asked to isolate some functionalities from Mark Callaghanâ€™s MySQL patch bundle. They were extensions adding per-user and per-table accounting to the database, accessible with a new set of commands such as SHOW TABLE_STATISTICS, SHOW INDEX_STATISTICS and SHOW USER_STATISTICS. The first two can interest anyone to periodically check what […]Read more
For a couple of months there have been no updates to our msl patch, however recently I managed some time to change this. The functionality was extended a little bit and whatâ€™s even more important the patch is available for all the recent MySQL releases.
To remind anyone who has not yet come across […]
Recently I had a case with a web server farm where a random node went down every few minutes. I don’t mean any of them rebooted except once or twice, but rather they were slowing down so much that practically stopped serving any requests and were being pulled out from the LVS cluster. The […]Read more