If you happen to be in Northern Germany at the end of August, I
recommend a visit to Sankt Augustin, a charming city near
Bonn.
Apart from the friendly atmosphere and excellent beverages, Sankt
Augustin hosts the second edition of FrOSCon, the Free
and Open Source Software Conference, organized by a group of very
dynamic and efficient enthusiasts.
I will present a topic for database administrators, Monitoring and logging a database server.
And of course I will meet a bunch of friends there. Someone I
know very well, like Lenz Grimmer, who will speak about Opening the doors of the Cathedral, and Zak
Greant, whose session about …
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
Let me announce ClickAider - another projects we were working on in stealth mode for last several Months.
ClickAider is Hosted Web Statistics system but it tracks Clicks rather than page views as most web counters do. And by clicks I mean not just clicks on the urls and images but clicks on many sophisticated advertisement systems - Google Adsense, Yahoo Publishers Network, AdBrite, AuctionAds and few others, plus ClickAider also can track form submissions.
The Click Tracking is done non-intrusive way, without Advertisers JavaScript modification so typically it is compatible with advertisers terms of service.
Why did we decide to do it …
[Read more]Georg, Andrey and Ulf have been hard at work designing, implementing and testing a replacement for libmysql only for us PHP users. The idea is that mysqlnd can leverage all the internal PHP infrastructure for communication and memory management. It can also be much more PHP aware, removing old cruft we do not need while adding extra goodies just for us!
This means the PHP memory limit will finally be honored, PHP user streams will be able to hook into the communication with MySQL. A client side query cache promises speed improvements and the fact that data does not need to be moved from libmysql to PHP should also stream line things. They are also looking to improve support for persistent connections.
While originally developed for PHP6, mysqlnd now also runs on PHP5 and talks to ext/mysqli and ext/mysql with PDO support planned. More over the …
[Read more]In my previous post I mentioned you might need to increase net_write_timeout to avoid connection being aborted and now I think I should have better explained that.
MySQL uses a lot of different timeout variables at different
stages. For example when connection is just being established
connect_timeout is used. When server waits for
another query to be sent to it
wait_timeout
(or interactive_timeout for applications which
specified they are interactive during connection). This value is
rather large as it is rather typical for some applications to
have long delays between queries.
If query is being read or result set is being sent back, much shorter net_read_timeout and net_write_timeout are used.
…
[Read more]After having a week to recover from the first exam I finally got around to taking the second one….and passed!!
Part II of the MySQL DBA Certification focused a lot more on the day to day running of the server, compared to Part I which was very much installation / configuration based.
Studying for the exam was a little difficult as I also had to work this week (as opposed to being on holiday!), but the skills you gain can be directly applied to everyday management of MySQL, and can be very rewarding especially if you focus on optimisation.
So what next you ask? Well after getting this far I thought it only fair that I give something back to the MySQL Community in the form of a MoinMoin Macro - …
[Read more]Using the LAMP Virtual Appliance, it is possible to create a full Django development environment in less than 15 minutes.
This article assumes that the reader is already familiar with VMware virtualization products and has one of the following products installed and functional on their host operating system: VMware Player (free download), VMware Server (free download), or VMware Workstation.
Download the LAMP VA (build 131 or newer) and configure for your environment.
Assuming a …
[Read more]
Would appreciate your comments and love to work on MySQL related
problems if you are facing any, that will also keep me motivated
about posting stuff here.
My current project is MyEye, which will be soon available. It is a tool
that will keep a vigilant eye on your MySQL installation, provide
valuable feedback and helps in monitoring too.
I was reading the latest issue of Mac|Life tonight (I liked it better as Mac Addict, by the way), and it struck me how dependent Apple is on Microsoft. For all the cool things that come with Mac hardware and OS X, a large swath of the Mac user population would be crippled or wiped out if Microsoft decided to stop supporting Office for Mac.
The Mac faithful (of which I am part) won't like to hear this, but it's true. OpenOffice is an excellent program (It actually is now--three years ago it was rubbish), but many of us simply couldn't use it "in production." Sure, I could run Office for Windows in Parallels' coherence mode (and almost certainly would), but that's an unnecessarily roundabout way of solving something best done directly.
This is a …
[Read more]I am planning (and possibly Eric as well) on going to the MySQL Developer’s Meeting in Heidelberg, Germany during the week of September 17th. If you’re in Europe somewhere (in Germany, even better) and are interested in on-site consulting from Proven Scaling in mid September, let me know!
I may also be attending the MySQL Users Conference in Tokyo September 11-12, so if you’re in Japan (or near) and want MySQL consulting on-site in early or mid-September, also do let me know!
Our exprience in solving query optimizer problems shows that a good chunk of optimization problems are incorrect choice of join order. The most frequent causes of the problems are
- Table engine returns index statistics or records-in-range numbers that are very far from reality;
- The WHERE clause has high-selectivity conditions for one table and low-selectivity conditions for the other. The optimizer is not aware of this and chooses a poor join order;
- Bugs or shortcomings in the optimizer or the table engine;
At the moment investigation of those kinds of problems is hard and time-consuming:
- There is no easy way to find out what the storage engine has returned to the optimizer from records-in-range calls. One has to manually repeat the steps taken by equality propagation, constant table detection and other query rewrites, construct the table's condition and run the …