db4free.net Relaunch

Finally! The new db4free.net Website has launched and along with it comes a new (slightly stronger) server and some simplifications with the service itself.

So what is new? Of course the new website which now is up to modern standards again, using a responsive design. While the old site was only designed for desktop (no surprise if you consider it was created in 2005 and remained more or less unchanged since), the new site adopts to small screen devices like mobile phones and tablets as well. Also the look is totally different:

db4free.net old

db4free.net old

db4free.net new

db4free.net new

The service now has a few simplifications. It is no longer allowed, or necessary, to set a collation and define IP addresses or hosts from which db4free.net can be accessed. Most users didn’t change the default anyway and many who did locked themselves out. As for character set and collation, UTF8 should work fine in all languages. If you really need to change it, you can do so from your MySQL client.

Now to the biggest new feature (Woohoo!). You can now easily help us translate the db4free.net website. The old website had the texts spread across many files in various places so there was no easy way to share them so to allow users to contribute in ways like fixing mistakes (I hope there aren’t any, but who can be sure?), improving linguistic style or even add an entirely new language. The new website fixes that and allows me to publish all website texts in a GitHub repository at:


You can fork this repository, fix texts and/or add translations and send a pull request back, so your updates can be integrated into the website. Find instructions how to do that in the new Translation page and if you need further assistance, please open a ticket at GitHub. I will be happy to guide you through the process as good as I can.

Also still quite new is that db4free.net is now on Twitter. Please consider following the account so you can easily stay up-to-date.

Where is your data which you had already stored in a db4free.net database? As like the last time when db4free.net moved to a new server, the old server and service will remain available at db4free.org until August 15, 2014. Since the migration process is exactly the same as last time, please reuse the good old and still valid instructions.

If you have any questions, please use the Comments section below or drop me a line on Twitter. Enjoy!

Time for a new look

How time flies! It’s almost 4 years (July 19, 2010) that this blog went online. Ever since that, this site had the same look.

Four years are a long time for the World Wide Web and the site’s look became quite a bit dated. Even worse, it didn’t respond to small screen sizes like those of smart phones or tablets which four years ago were not as common as they are today. So it was time for a new (responsive) theme and voilĂ  … here it is!

Please enjoy this site not only on your desktop, but also on your mobile devices.

mpopp.net on mobile device

(Psst, there’s a rumor going around that db4free.net is up for something new as well.)

Another InnoDB crash

It happened twice in May, and now again: another InnoDB crash. db4free.net is now up again with a fresh server instance, meaning that no databases have been transferred from the old server to the new one.

However, the old server is still accessible. It’s running in recovery mode which is good enough to allow you to create a backup of your data (and transfer it to a new account on the new MySQL server instance, if you wish). Here is how to do it.

Make sure you have mysql and mysqldump available on your system. Linux users can usually install the mysql-client package by the distribution’s package manager. OS X users can get it at http://dev.mysql.com/downloads/mysql/5.6.html. For Windows users I am providing mysql.exe and mysqldump.exe for your convenience. Put them somewhere where you can access them by the command prompt.

Here are the commands to first create a dump file (from the old server), and then to import it in the new server instance:

mysqldump -h db4free.net -P 3307 -u [username] -p[password] --databases [database_name] --opt > dump.sql
mysql -h db4free.net -u [username] -p[password] [database_name] < dump.sql

Of course you need to use the correct username/password/database name; with mysqldump those from the old server (now running on port 3307), and with the mysql command from the new server.

Please understand that I can’t give individual support. But this should get you started and there is a lot of information out there in the World Wide Web.

So why didn’t I transfer the data? Well, I tried. But the amount of data was so huge that I ran into all kinds of limits and timeouts that I gave up. One reason was that there are some individual users who host a huge amount of data on db4free.net, in fact only a few users accounted for the majority of data. Which is why I am introducing a new rule on the new server: only a maximum of 100 MB is allowed per database, and databases which exceed 100 MB will be cleared at irregular intervals, with no warning! Remember: db4free.net is a testing service, no hosting service. If you need safety you should get an account with a commercial provider that can give you the kinds of guarantees which db4free.net can’t give you.

I am also asking you to delete data which you no longer need, or even delete the account. When another crash occurs (which is not so unlikely, as it happened 3 times in slightly more than 6 months) chances that I can migrate the data to a new server instance are much better if the data load is smaller. So please help and don’t leave unnecessary data laying around.

Please don’t waste time to get a dump of your data (if you need it). My plan is to leave the old server instance running until end of October. But as always, data corruption can happen, even on this server instance. So make sure you get what you need (even though you shouldn’t … remember why?).

How to remove (hide) annoying sections on web pages

Every now and then it happens that there is something on a web page which I visit frequently that I don’t want to see. Things that are simply just annoying. Sure I could try to ignore it, live with it, try to convince myself it’s not worth bothering. But why should I? There are easy solutions to get rid of it.

Most people probably know Adblock Plus and many use it, myself included. It is now available for almost every modern browser, like Firefox, Google Chrome, Opera 15+, and even Internet Explorer. It is obvious what it does, it blocks ads. But it can do more, like blocking things which aren’t ads, but still annoying.

I’d like to demo how to do it with this little example: YouTube allows to post comments (unless the person publishing a video disables it), but sadly a huge amount of comments are racist, xenophobic, sexist and so on and so forth. Few comments have any value. Maybe you are the kind of person who ends up reading that stuff even though you’d rather not and you know you just end up being disgusted. So lets assume you want to get rid of it, to kill that nasty temptation.

I will show how to do this with Firefox. But I assume it will work very similarly with other browsers and their Adblock Plus addons. Don’t be scared, it should be easy enough for the average internet user, not much technical background needed.

Everything starts with a fresh Firefox 23 and the latest Adblock Plus installed:

Firefox 23 with Adblock Plus

I opened a random YouTube page with comments:

YouTube page with comments

Now comes what’s probably the most challenging part. We need to find the area which we want to remove. Therefor we right click somewhere on top of the area which should go away, like on the text “All Comments”, and select “Inspect Element” from the context menu. In the left bottom area there is an HTML view. Click on the HTML tags (the things like <…>) and see the dotted border on the web page. Try to find the HTML tag which covers the area which you want to remove, and try to find one which has an id element (id=”…”) assigned. What we want is the line

<div id="comments-view" class="" data-type="highlights" >

Here is what it looks like:

Firefox Inspect Element

The relevant information is that it is a <div> tag, and that the id element’s value is “comments-view”. If there was no id element, we could also use the class element (provided there is a value assigned), however class is more risky because unlike id values, class values don’t have to be unique (you may block more than you intend to).

So here is how to form the filter string for Adblock Plus:

  • note the domain, here: youtube.com,
  • two # signs,
  • the tag name, here: div,
  • if you picked an id element, another # sign, if you picked a class element, a dot (.),
  • the id or class value, here: comments-view

So what we have is:


Now right click on the red Adblock Plus icon (the one which looks like a stop sign) and select “Filter Preferences”. Select the Custom Filters tab:

Adblock Plus Custom Filters

Now click “Add filter group” and name it anything you like (I named it “My filters”):

Adblock Plus Filtergroup

Click the “Actions” button and select “Show/hide filters” from the menu. Then click “Add filter” and enter the filter rule:

Adblock Plus Filter

VoilĂ , the comments are gone:

Final result - no more comments

InnoDB crash recovery

You may have noticed that the db4free.net server is currently down.

Reason is that an InnoDB crash has occurred and efforts to recover have failed. However, I was able to create a dump file of the entire server, which I’m currently importing into a fresh server instance.

As things look now, the server will be back up with almost all data intact (except maybe updates from April 19th, 2013). But the data volume is large and it will take time. So please be patient while the new server instance is put in place.

Update 2013-04-21 19:45 UTC: Server is back.
Update 2013-04-28 01:25 UTC: same crash happened again. db4free.net will stay down until further notice.
Update 2013-05-02 22:00 UTC: db4free.net is back. But I can’t guarantee for how long. What happened twice recently can happen again any time.

db4free.net server migration

db4free.net‘s server has reached its limits, and it was time for a new one. Now here it is, a shiny new server, with 8 times as much memory than the previous one, and also more disk space. Time for a reboot.

Only recently, MySQL 5.6 has become GA with much better performance than 5.5 and earlier, so the combination of a faster MySQL server and a faster machine should result in a very significant performance boost for db4free.net.

I have not migrated any user databases, but they are still available on the previous/old server. The old server is available at db4free.org, the new server at db4free.net. I will leave the old server running until end of March to allow users to transfer their data to the new server. After that, the server will be shut down and db4free.org will point to the new server as well. This way the server will not have to carry the load of thousands of databases and user accounts which have been created over time and are no longer used.

This means that all users have to register a new account. And here are instructions how to migrate your database from the old to the new server:

On Linux, make sure you have the mysql-client package installed. This should give you everything you need. For Windows users I am providing the 2 client programs you need for download: mysql.exe and mysqldump.exe. Download and copy them into your Windows directory (C:\WINDOWS usually).

To create a backup (dump file) of your database from the old server, run:

mysqldump -h db4free.org -u [myuser] -p[mypass] --database [mydatabase] --opt > dump.sql

[myuser] is of course your user name, [mypass] your password (note that there is no space between -p and your password) and [mydatabase] your database name, as used on the old server.

To import this backup into the new server (after you created the account) run:

mysql -h db4free.net -u [myuser] -p[mypass] [mydatabase] < dump.sql

Note that while mysqldump used db4free.org as host name, you need db4free.net for the mysql command. User name, password and database are those from the new server, in case you used different ones when registering for an account on the new server.

If you prefer phpMyAdmin, you can still access the old server at http://www.db4free.org/phpMyAdmin/.

Should be easy enough, I hope. And when it’s all done: enjoy!


is the working title of my first entirely self written song, consisting of 2 guitars (lead & rhythm), bass and drums. As of now, it doesn’t have a (real) title, vocals or even lyrics yet.

Watch and listen to me, as I’m playing the song:

Rhythm guitar, bass and drums which you hear in the video are exported from the original Guitar Pro 6 file. Guitar Pro is the awesome piece of software which I used for composing the song.

For audio recording I used Audacity, another great software. To combine video and audio, I used FFmpeg.

Hopefully this is only the first of many more songs. I have a few other songs started which only wait to be finished. My goal for 2013 is to get quite a few ready, so that maybe in 2014 I can plan to record an album, a dream that I’ve been having for at least the last 15 years. Looks like I am now one step closer.

mysql.com goes HTML5 video

In my role as Web Developer for mysql.com I have always tried to advocate open web standards, and to adopt good new web technologies as early as possible. And I believe that an open source product like MySQL owes the World Wide Web open web technologies, rather than content which requires proprietary plugins. Which is why it’s a pleasure for me to tell you that demo videos which used to require Flash have been replaced by new demo videos which work with HTML5 video (and using Flash only as fallback for old browsers).

Take a look:

… or even better, take a look at the real thing at http://www.mysql.com/products/enterprise/demo.html.

Needless to say, not only the fact that these videos are delivered as HTML5 video is interesting, but of course also what the MySQL Enterprise Monitor can do for you, like analyzing your queries, or monitoring your replication and alert you when things go wrong.

And stay tuned, there is more to come in the future!