I'm pleased to announce that Tag1 Consulting has partnered up with MySQL AB to offer an online presentation titled "Achieving Optimal MySQL Performance For Drupal". Aiming to provide a better understanding of how to properly monitor and tune your MySQL database, the online Webinar will take place on Thursday, January 31st, 2008, at 16:00 UTC (11:00 am EST). The presentation will last 45 minutes, followed by 15 minutes for questions and answers.
We recommend two open source tools to help with the regular tuning and monitoring of your MySQL database: mysqlreport and mysqlsla. Your website is made from many complex systems. Rapid growth, changes to your site, and other systems can change the load on your MySQL database. It is important that your internal staff become familiar with using these tools and implement routine maintenance. An initial review often leads to significant improvements, and will also help you to implement a monitoring solution for your ongoing performance efforts.
One of the enhancements I added to MySQL Archiver in the recent release was listed innocently in the changelog as "Destination plugins can now rewrite the INSERT statement." Not very exciting or informative, huh? Keep reading.
You have inadvertently deleted some rows from your table and want
them back. This is semi-doable with fixed row format of MyISAM. I
put together a few steps, which I'll compliment with a program
that does it for you, later.
- save output of SHOW TABLE STATUS LIKE 't1' and SHOW CREATE
TABLE `t1`.
- shutdown mysql server asap!
- backup t1.frm, t1.MYI, t1.MYD immediately
- create a new table t1_recover, which has no auto-inc and no unique/pk.
- remove the files t1_recover.MYD and t1_recover.MYI
- write a C program that scans through t1.MYD reading blocks of length Avg_row_length and checking if first byte indicates a row is marked as deleted.
- if it's deleted, dump it as is into the file t1_recover.MYD
- goto mysql prompt. issue REPAIR TABLE `t1_recover` USE_FRM
Some notes.
You cannot recover entire record. You'll …
Gotcha: Bug #29838
The bug itself seems so simple to repeat. I'm boggling how it was
not seen before. :-0 I really tried too many overly-complex
tests, IMHO. Sometimes, it's still best to keep it simple!
Hey look! CIA uses MySQL:
http://cia.navi.cx/info