db4free.net goes MySQL 8.0

MySQL 8.0 has been released as stable (GA) earlier this month. For db4free.net this means it’s time to make MySQL 8.0 the default version and to deprecate the MySQL 5.7 server instance.

The new MySQL 8.0 server is running on the default port 3306. All new registrations will have the database created on this server. It is fresh and empty and will start from scratch.

The previous MySQL 5.7 server will remain available on port 3308. All users who have data there which they want to keep should migrate it to the new MySQL 8.0 server. This will require you to sign up again.

The previous MySQL 8.0 server will remain on port 3307. Both the old MySQL 5.7 and the old MySQL 8.0 server on port 3307 will be available until June 15, 2018. Data which isn’t migrated to the new server instance by then will be lost.

The new MySQL 8.0 server instance will come with the new utf8mb4 character set and the new utf8mb4_0900_ai_ci collation, which are the new defaults in MySQL 8.0. Since db4free.net already used utf8mb4 on the previous MySQL 5.7 server instance, this should not affect many people, if any at all.

Another long overdue change is that the default timezone (on db4free.net, this is not a change in MySQL 8.0 itself) will be UTC. Previously the servers were set to Central European Time since that’s the home time zone where db4free.net is hosted. But with a large international audience it makes sense to use UTC going forward. The timezone can be changed per connection as described in the MySQL Reference Manual.

The MySQL 8.0 Reference Manual is the place to go for all general MySQL questions and to find out what’s new in MySQL 8.0 (which are a lot of things).

As always: please backup data which you can’t afford to lose. db4free.net is a testing service and there is always a risk that something goes wrong, like the server doesn’t start up anymore. This has happened before and may happen again, especially with a brand new version. This service comes with no warranties at all.

If you keep that in mind you should have much fun exploring the new (and old) goodies of MySQL 8.0. Consider following db4free.net on Twitter as this is where you get updates and status information the quickest.

Enjoy!

db4free.net and MySQL 8.0

db4free.net was born in 2005 (which makes it older than Twitter or Google Chrome) when MySQL 5.0 was in early development. 11 years went by but one thing always remained the same: the 5 in MySQL’s major version number. MySQL versions went from 5.0 to 5.1 to 5.5, 5.6 and recently to 5.7. There was always this 5.something.

While this 5 will stay around for a bit longer, it is not alone anymore.

Now there is a duplicate of the db4free.net website at

https://mysql8.db4free.net

where you can create a database on a newly set up MySQL 8.0 server!

MySQL 8.0 is in very early development, the first Development Milestone Release (MySQL 8.0.0 DMR) has just been released on September, 12. It will take several months until there will be a final release.

db4free.net makes it easy to try new features early. The MySQL 8.0 Reference Manual is a good entry point, especially the section What Is New in MySQL 8.0.

While the MySQL 5.7 server keeps running unchanged, the new MySQL 8.0 server will run on port 3307. Make sure to address the correct server in your client. Maybe there is a separate field to set the port, or you may have to change the host name to db4free.net:3307. Of course you can also use phpMyAdmin at https://mysql8.db4free.net which will give you access to the MySQL 8.0 server (while phpMyadmin at https://www.db4free.net will still connect you to the MySQL 5.7 server).

Speaking of clients, please keep in mind that clients may not be fully ready for MySQL 8.0 yet and there may be a problem here and there. This is part of testing a new version in early development.

The mysql8.db4free.net website with black-orange header is mostly a duplicate of the www.db4free.net website with black-blue header. The only major difference is that mysql8.db4free.net manages databases on the MySQL 8.0 server whereas www.db4free.net manages databases on the MySQL 5.7 server. Accounts created on either site do not affect the other site, so they are completely separate. If you want a MySQL 5.7 database as well as a MySQL 8.0 database you need to register on both sites.

Have fun and enjoy!

A word on Bitcoins

db4free.net now accepts donations in Bitcoins. Donations in traditional currencies are also supported via PayPal.

db4free.net offering MySQL 5.7

db4free.net finally runs MySQL 5.7 which was released on October 21.

Rather than upgrading the existing MySQL server I set up a new MySQL 5.7 server. This is cleaner and it helps to get rid of accounts which are no longer used.

For active users, the MySQL 5.6 server will stay online

until January 15, 2016.

You can access it on port 3307 (the new MySQL 5.7 server will again run on MySQL’s default port 3306).

Users who want to keep their data need to migrate it to the new server:

  • create a backup of your data on the MySQL 5.6 server
  • signup for a new db4free.net account
  • restore your backup in the new MySQL 5.7 server

If you use the MySQL default client and mysqldump, it goes like this (commands in one line):

  • mysqldump -h db4free.net -P 3307 -u [username] -p[password] --database [databasename] --opt > backup.sql
  • (remember to create the new account)
  • mysql -h db4free.net -u [new_username] -p[new_password] [new_databasename] < backup.sql

You can also use phpMyAdmin (there are now 2 login boxes) or MySQL Workbench or any other client software which does the job.

Please remember: db4free.net is a testing service. Data loss can happen any time!

The primary reason why not data loss occurred in the last 2 years (how time flies!) are the many stability and bug fix updates that MySQL 5.6 received over time (current version is 5.6.27).

There were some problems while MySQL 5.6 was young though!

With MySQL 5.7 being a new major release (current version is 5.7.9), the risk of data loss and outages will again be higher. Please take this into account (backups, backups, backups!). It’s the price for the shiny new features.

Since db4free.net is a testing service, this shouldn’t be a problem for you. If it is a problem, db4free.net is probably not the right service for you.

Have fun and enjoy!

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:

https://github.com/mpopp75/db4free-net-l10n

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:

youtube.com##div#comments-view

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!