db4free.net has been updated again.
The server now runs MySQL 5.6.4 m7, the very latest, and lets hope, the very greatest.
Recently there were some server issues at db4free.net which raised some concerns over a possible soon end of db4free.net.
Here are 3 facts that should convince you that there is no reason for concern:
So knowing these 3 facts you probably agree that now would be a really stupid time to shut down db4free.net.
The old server can be accessed through phpMyAdmin at http://www.db4free.net/phpMyAdmin/. Select the 2nd entry (db4free.org:3306) to access that old server. Its availability is sort of limited, it still runs in InnoDB recovery mode (without it, it doesn’t even start up) and Read Only mode. My current plan is to leave the old server like this for another month (i.e. May 27, 2011).
The new server will start over fresh and clean again. So even if you had an account, please register again at http://www.db4free.net/d4f_apply.php.
This new MySQL server goes back to using MyISAM as its default storage engine. I can’t promise that corruptions like the recent one don’t happen again. But if you want to play it a bit safer, stick with MyISAM (which is more likely to be accessible in such a scenario). If you want to create an InnoDB table, simply specify the engine in your CREATE TABLE statement, like so:
CREATE TABLE [table] (...) ENGINE=INNODB;
The rules which were in place on the old server remain in place on the new one as well:
I had migrating db4free.net to a new server (slightly stronger, much cheaper) in mind anyway. Now with the current problems, it’s probably best to go forward with this migration right away.
I will start with a fresh and clean MySQL server on this new machine (which means, everybody who had an account will have to re-register in order to keep a database at db4free.net). The old server will stay available in its current state for a while, so you can get to the data which is accessible. InnoDB seems to have quite serious issues on this damaged installation though. Currently it runs in InnoDB recovery mode (and read only), which is the only way I can keep this server up. As soon as I remove these options from the my.cnf config file, the server crashes immediately.
As a consequence of this, the new MySQL server on the new machine will return to MyISAM as default storage engine. You will still be able to create InnoDB tables by adding ENGINE=INNODB to the CREATE TABLE statement.
I have 2 domains for db4free, the default db4free.net and db4free.org. Probably I will get db4free.net connected to the new machine, while leaving db4free.org connected to the old box, as long as it remains available. It’s likely that I will nuke it before May is over.
So that’s the current state, stay tuned for updates.
And as I can’t repeat this often enough, please keep in mind that
A few months ago I wrote about how to do language detection correctly, to respect the user’s preferred language setting in his/her browser, aka the HTTP_ACCEPT_LANGUAGE header.
Now, finally, db4free.net has received exactly this implementation. Took me a while, but now it’s there :).
Especially German speaking people will notice the difference. If German takes priority over English in the browser settings, the German version of db4free.net will be loaded by default. No more need to click the German flag. If neither German nor English is set, the site will default to English.
However, the English and German flags are still available, to change the language if a person chooses to. This allows for maximum flexibility.
Noticed the new navigation item in the MySQL Developer Zone?
Sarah Novotny and Sheeri K. Cabral have picked up the OurSQL Podcasts again which were on hiatus for a while (well, they have now been back again for a while as well). The Podcasts are available on several resources:
A nice extra to the implementation at dev.mysql.com is that it uses HTML5 audio, so provided that you are using a technically up-to-date browser, you can not only download the sound file of an episode, but play it right in the browser. No plugin required.
One month ago I set up a new MySQL 5.5 db4free.net server instance, after the old instance started to keep crashing. Since then, the former user database server has run on port 3307 to give people a chance to rescue their data, while the new MySQL 5.5 instance started completely from scratch.
However, most of the time, the 3307 server was down and I doubt that many people had a chance to get a copy/backup of their data. Now I updated that server to MySQL 5.5 as well. It’s too early to tell whether or not that will increase people’s chances, but it may be worth to give it a new try.
Disaster struck again. Well, it’s actually not really a disaster. db4free.net is a testing environment and people are not supposed to use it for any important data, or to use it in production. When after the last server update the main server instance started crashing, it was one of these circumstances which I can’t guarantee my users not to happen, and since both my budget and the server resources are low, I can’t afford setting up a backup system which allows me to restore everything just as a commercial database provider can (or should be able to) do.
Unfortunately I received a few emails (sorry that I couldn’t answer all of them directly) which made me believe that this fact isn’t obvious to all users. Even though the Conditions of Use pretty much explain that, not everybody obviously reads them. Which is why I added this text to both the registration form and to the registration email, so that it leaves no doubt that every db4free.net user is aware that this service is good for testing, but NOT for any data which is painful for the user to lose, or to not have available if the service goes down:
By registering for a db4free.net account you agree that:
Sorry if I failed to make this clear enough in the past. Please note that these are no rule changes, but only a more thorough clarification.
OK, so now to the changes. After my InnoDB tablespace recovery attempts failed, it was clear that I need to set up a new server instance. Being a testing environment, it’s not really meaningful to use the now very mature MySQL 5.1 builds. So it’s time for an update, to MySQL 5.5, which is currently available as version 5.5.7, which is a Release Candidate (the last stage before becoming a Generally Available version).
Running a development version of course increases the chances of crashes and outages additionally, so it’s a good time to remember all users of the purpose of this service. This new server instance is fresh and new, no databases have been transferred and all users will have to register again to create a database.
What happens with the former 5.1 server instance? As it still starts up, I will keep it running until at least the end of November (unless anything else happens, the no-guarantee-rule keeps applying), on port 3307. So all former users can still access the database and try to rescue data they need. Please understand that I can’t offer any individual support for this. Please refer to the MySQL Reference Manual if you need assistance. You can also still use phpMyAdmin: go to http://www.db4free.net/phpMyAdmin/ and select “db4free.net:3307” from the Server Choice dropdown. However, please keep in mind that this server is damaged and will likely crash frequently, and take some time to come up again.
I am sorry for any inconvenience that the recent issues have caused. However, I am confident that this is taking the right steps to make all users aware what the purpose of db4free.net is and to set expectations right. And to all future db4free.net MySQL 5.5 users I would like to say: happy testing!
To my shame I must admit, I missed it. It happened on June 29, 2005 when db4free.net was first available to the public. At that time it was running MySQL 5.0.7 beta. Quite a lot has happened since then, MySQL 5.0 made its way up to 5.0.91 and the current MySQL GA version is 5.1.49, which is also the version db4free.net is running as of today. The first phpMyAdmin version that db4free.net was offering to provide easy access to the user’s databases was 2.6.3. Today I updated phpMyAdmin to 3.3.5.
Statistics are not necessarily 100 % accurate, but here is the best I can come up with. Since its launch, db4free.net had 528,900 visits. The ratio registrations per visits is at about 22 %, so more than every fifth visit ends in signing up for a new database. Which means, that about between 110,000 and 120,000 database accounts (meaning database and user) have ever been created. There have been some cleanups since then to make resources available to people who actively use their databases. Which is why the current number of databases is much lower, at slightly above 13,400.
Today I must (also) admit that the code behind db4free.net’s web application was initially quite poor and it stayed poor for quite long. Why it was poor from my today’s point of view is probably due to my learning process in these 5 years. This year I did a lot of cleanup on the code behind db4free.net’s web application and removed a few bottlenecks which often made the website painfully slow. Now it’s in a fairly reasonable state again, and I have some ideas in the back of my head how to further improve it. So db4free.net is far from its end of life. Quite the opposite is the case, it’s time to give it a new boost so that the balance after its 10th anniversary is even more impressive than today’s 5 year balance.