Monday, January 26, 2009

Fedora development repository including MySQL 5.1

I just noticed that Fedora has updated their development repository to include MySQL 5.1:

MySQL as in Fedora's Development Repository

Actually it's a pity that MySQL 5.1 didn't already make it into Fedora 10 since Fedora 10 was released on November 25, 2008, 2 days prior to MySQL 5.1.30. But it will most certainly be in Fedora 11.

Wednesday, January 21, 2009

Friday, January 09, 2009

db4free.net running on Sun servers

There's one thing which I believe I never mentioned so far, though it is certainly worth to be mentioned. db4free.net runs on a dedicated server at easyspeedy.com from Denmark, who use servers from Sun Microsystems and are a Certified Sun Partner.

I got reminded of this fact when I received an email from easyspeedy, wishing me a good new year, telling me about plans for 2009 and including the uptime statistics of 2008, which were as follows:

10 months of 100% uptime
1 month of 99.98% uptime
1 month of 99.97% uptime

Sure, uptime on db4free.net was a bit lower since these statistics only show how much the server has been up (and down) on their side.

Anyway, it's one more example where MySQL and Sun Microsystems come together in some sort of way.

Tuesday, January 06, 2009

Which browsers and OS do mysql.com visitors use?

First of all, let me wish all of you a great year 2009! As an old year ends and a new year begins, it's a good time to do some statistics. One of the statistics that web developers are interested in is, which browsers and operating systems visitors use to access their websites. Let me share some of the interesting figures regarding the mysql.com website with you.

mysql.com Browser/OS usage shares
(click to enlarge and see more detail)

The spreadsheet contains data for December 2008 (another sheet for November 2008) in a pivot table style. In the columns you see the browsers and operating system and in the rows the continents and regions, with the shares in the respective cells. Fairly self-explanatory as I hope ;).

Usage shares on the mysql.com site generally favor browsers and operating systems that are more widely used by technically advanced people, compared to general global usage share statistics, like the probably most famous one at marketshare.hitslink.com. While the general global share for Mozilla Firefox is "only" 21.34 % as of December 2008, about 54 % of the visitors on mysql.com use Firefox. Visitors most likely to use Firefox come from Europe, Oceania and North America.

Just as the global share for Firefox is constantly increasing (from 16.80 % in Dec. 2007 to 21.34 % in Dec. 2008), the share for Firefox at mysql.com has increased from 48.96 % to 53.90 % during the same period.

Internet Explorer has always had a hard time, compared to global shares, so you find its share at mysql.com at only 33.62 %, 63.17 % of which use IE7 (making up 21.50 % of the total share) and 34.89 % of which use IE6 (making up 11.87 % of the total). For comparison: in December 2007, Internet Explorer found itself at 41.40 % (IE6 with 51.58 % still leading ahead of IE7 with 48.14 %, making up 21.35 and 19.93 % of the total). Internet Explorer has by far the strongest share in Asia, followed (with some distance) by Central America, South America and Africa.

So while Mozilla Firefox gained about 6 percentage points, Internet Explorer lost about 8.

Shares for Opera, Safari and - since September 2008 - Google Chrome are constantly between 3 and 4 %. There is hardly any trend that can be recognized as stable, so we'll have to wait and see what 2009 brings (sure will be exciting).

Also the shares of the operating systems are comparably stable (at least compared to the movements happening with IE and Firefox). Windows decreased its share (again from Dec. 2007 to Dec. 2008) slightly from 82.69 % to 80.83 % while MacOS increased from 6.44 % to 7.70 %. Linux has changed only from 10.41 % to 10.97 %. So there is a slow trend from Windows to MacOS. You may want to compare these figures with the global OS usage shares from marketshare.hitslink.com.

Windows is strongest in Asia and weakest in North America, Linux is strongest in Europe and weakest in Asia and MacOS is (little surprising) strongest in North America and weakest in South America.

Other than in the 90s and the early years of this decade, there is now a wide choice of web browsers across all the widely used operating systems and there has never been as much competition as today which results in noticeable quicker development. As the browsers of previous (browser) generations finally die out and recent browsers implement the W3C standards more and more completely, web developers will have an easier life to create rich internet applications with less pain, despite the higher number of web clients.

2009 is certainly going to be an exciting year in regard to web browsers. How will Internet Explorer 8 affect the usage shares? Firefox 3.1 is on its way, about to be released around the same time as Internet Explorer 8. Maybe even Firefox 3.2 may make it to a final release in 2009. Opera will release version 10, Safari 4 is under development and there is certainly more to come from Google Chrome. I can't wait to see what all these numbers look like when 2009 is over.

Wednesday, July 02, 2008

db4free.net again offers latest MySQL 6.0 (compiled from source)

The db4free.net's MySQL 6.0 server is at the very latest state again. I have compiled the server from source, so you can test the very latest of MySQL development.

Unfortunately there were some issues with the former version (6.0.4) and I didn't manage to simply upgrade the server as I used to. After upgrading, the server didn't start up with the old data directory and dumping database by database to re-import it into the new version resulted in frequent crashes. After multiple failures to do a straight update I decided to install a fresh and empty new 6.0 server.

Now the most important question for you if you used the 6.0 server: where did my data go?

I left the old server up and running, but configured it to port 3308. This means, if you had data in your MySQL 6.0 database, you can still access it - here's how, if you use the default MySQL client:
mysql -h db4free.net -P 3308 -u [your_username] -p[your_password] [your_database]


I am also going to configure phpMyAdmin to allow you accessing the old MySQL server using it.

If you want to keep your data on the 6.0 server, please migrate it to the new one (running on port 3307 as usual) as soon as possible. I will keep the old server (running 6.0.4) running for about a month.

Have fun experimenting with the very latest MySQL 6.0!

Tuesday, June 03, 2008

Never miss a new product release again

Would you like to be notified when a new MySQL product is being released? Check this out:

RSS Feed New Product Releases

(find this in the left sidebar at dev.mysql.com)

... or you can click right here to subscribe to this new RSS feed.

New RSS feeds for MySQL Web Seminars

We (the MySQL Web team) have now made it easier for you to keep track of upcoming MySQL Live Web Seminars as well as MySQL OnDemand Webinars - check out the new RSS Feeds:

MySQL RSS Feed Live Webinars

MySQL RSS Feed OnDemand Webinars

Have you noticed the change on www.mysql.com?

MySQL RSS Feed Front page

BTW, did you see the RSS icon next to MySQL Training? This RSS feed is not as new as the ones for the Web Seminars. But they are nevertheless cool because they inform you immediately if there is a new training course in your country.

Stay tuned - there's more to come!

Wednesday, April 09, 2008

Integration of Frameworks for Rapid Web Development

Are you interested in how to integrate the Zend Framework, Smarty and the Yahoo! UI Library into an infrastructure that makes it comfortable to develop professional web applications? Do you want to know how this infrastrucure is going to form a solid foundation for the MySQL website? And see what the future basement of db4free.net is going to look like?

And are you going to attend the MySQL Users Conference next week?

Then this is a presentation that you don't want to miss:

Integration of Frameworks for Rapid Web Development
Markus Popp (MySQL), Duleepa Wijayawardhana (MySQL)
3:05pm - 3:50pm Wednesday, 04/16/2008
PHP and MySQL
Ballroom D

"Dups" and I are looking forward to meeting you!

Monday, March 31, 2008

db4free.net now offers MySQL 5.1 *and* MySQL 6.0

It has been pretty quiet about db4free.net for some time, but now there are news. db4free.net now offers MySQL 6.0 database accounts - in addition to the old (and I'm tempted to even say tested) MySQL 5.1 ones.

So - everybody who registers gets 2 databases, one on the MySQL 5.1 server and one on the MySQL 6.0 server, which runs at port 3307. Connections can be made using the MySQL client running the command

mysql -h db4free.net -P 3307 -u [username] -p[password]

or using phpMyAdmin, right from the db4free.net website.

Users who have set their accounts to allow remote connections can also use tools like the MySQL GUI Tools or MySQL Workbench.

Curious about what MySQL 6.0 has new to offer? Check out http://forge.mysql.com/wiki/Falcon_Feature_Preview.

Your feedback about MySQL 6.0 is much appreciated. Please send them to mysql-6.0-feedback@db4free.net or post in the db4free.net forum.

Have fun and enjoy diving into the new MySQL 6.0!

Friday, August 31, 2007

init_connect system variable

Even after working with MySQL for quite a long time, I sometimes stumble over great things that I didn't know. It happened to me again when I met Beat Vontobel (together with other MySQL folks like Giuseppe, Roland, Lenz, Susanne) at the FrosCon Conference.

What I learned about was the init_connect system variable. It allows to trigger a SQL statement (or Stored Procedure) whenever a new user that doesn't have SUPER privileges connects to the server. There's no need for me to explain this in large detail, since Beat already did this in one of his blog articles.

Why is it so useful for me? To keep db4free.net free from database accounts that aren't in use anymore, it's important to log the connects. So far I tried to do it with the general_log - but this of course also logs all the queries from the users ... which produces a huge amount of data that I don't really need for this purpose. Of course there are ways to filter that out, but since resources are limited, every way to avoid unnecessary data from the very beginning is of big help for me.

And since I never heard about it before - even though it is so useful - maybe there are others like me who could make use of it, but just haven't heard about it.

Monday, March 12, 2007

Early registration for MySQL UC ends this week (March 14th)!

Don't miss this date! March 14th is the last date to get a $200 discount for a MySQL Users Conference registration.



Watch out for the Tutorials, Sessions, Speakers and Events and take the opportunity to Get MySQL Certified during the Conference!



I'm looking forward to meeting you!

Tuesday, January 02, 2007

New db4free.net statistics

At the end of November, I activated Google Analytics to db4free.net, so now I have the data for a whole month which already shows some interesting facts about where the visitors come from, which browsers and operating system they use etc.

Very interesting is the Geo Map Overlay:

db4free.net Overlay Dec. 2006

This is based on 5,736 visitors. The total number of pageviews is 21,854.

2,831 visitors used the Internet Explorer - 2,210 of them version 6.0 and 601 used version 7.0, 20 used an older version.

2,303 visitors used Firefox - 1,454 used Firefox 2.0 and 742 used Firefox 1.5 (and the rest older versions).

434 visitors used Opera.

The use of operating systems splits up as follows: 5,402 visitors use Windows (4,929 of them Windows XP), 235 use Linux and 85 MacOS.

1,014 new users registered for a new account in December, which means that in average every 5th to 6th visitor creates a new account.

And last but not least - the number of total db4free.net users as of now according to my own statistics is 5,966 and the total number of visitors since its beginning is 73,182.

New MySQL related HowTo available

I just found this new HowTo at www.howtoforge.org:

http://www.howtoforge.org/secure_mysql_connection_ssh_tunnel

It describes how to set up a secure tunnel between your MySQL Server and a locally running MySQL Administrator using Putty. I haven't tried it out myself, but I strongly assume that this works for all the other GUI tools as well.

Friday, October 27, 2006

www.howtoforge.org

Many of you might know HowToForge, but for those who don't - there's a bunch of excellent and interesting tutorials relating to Linux and OpenSource.

There are also many about MySQL or using MySQL - here are some examples:

... and more.

There's definitely a lot of stuff to play with.

Saturday, October 07, 2006

Official German MySQL 5.1 Reference Manual to be released this month

All German speaking folks will have a chance to get a printed German MySQL 5.1 Reference Manual which covering 1,312 pages for a price of EUR 59.95 (hey, most books with that amount of pages cost much more than that).

It is about to be released this month and can be pre-ordered at amazon.de.

I pre-ordered my copy today. Sometimes it's nice to leave the PC for a while and dig into a good book, but still use the time to improve skills. There are still some topics about MySQL that I'm not as familiar with as I wished and this will be good opportunity to remove some gaps in my knowledge.

Tuesday, October 03, 2006

New Lists of Certified Candidates online

The Lists of MySQL Certified Candidates now also include the new Certifications for MySQL 5.0 - Certified MySQL 5.0 Developer and Certified MySQL 5.0 DBA:

http://www.mysql.com/training/certification/candidates.php

Also new is that you can now find some statistic figures. You can see how many have passed each individual Certification and on the detail page you also find how many people have passed this particular Certification in each specified country. So you can for example easily say: I'm one of eight Certified MySQL 5.0 DBAs in Germany.

Sunday, September 24, 2006

db4free.net now exclusively runs MySQL 5.1

It's past 7 o'clock in the morning, but this night has been a productive one (hey - no bad thinking please ;-)).

I have updated db4free.net to the latest MySQL 5.1 development source version (5.1.12-beta) and discontinued the 5.0 server. The "former" 5.1 server which ran on port 3307 is still alive, but no new accounts are being created there anymore. During the next days I plan to make the databases that run on the port 3307 server accessible on the main 5.1 server (with standard port 3306) to have everything together on one server - and let the port 3307 server die.

Before the update, most users have only used the 5.0 server, but only a little number of users did anything on the 5.1 server. My intention is to test 5.1 more intensively under a higher load and I hope that this also helps to contribute to the development of MySQL 5.1 by finding bugs or other flaws on a production system. I'm also thinking of setting up a replication slave server (instead of the second production server) to do regular backups from there - and of course for testing and finding bugs.

Running MySQL 5.1 offers new possibilities for the users and for me as administrator. The users can now create events and triggers (it was not possible for users to create triggers on the 5.0 server since this would have required SUPER privileges). I want to make use of new logging capabilities, events and new information_schema views to set up a monitoring system - all done by the server. The new MySQL 5.1 features make it much more comfortable for me to keep track of what's happening on the server. This will also be used to clean up unused accounts and to find misused accounts more easily and more quickly.

So this is a great improvement for the users as well as for me - and hopefully also for the MySQL company and products.

Saturday, September 23, 2006

New information_schema views

As you might have recognized already, I love to take a look into the Change logs from time to time and hope to find some goodies there. Here's an especially nice one in the Change log of 5.1.12:

INFORMATION_SCHEMA contains new tables, GLOBAL_STATUS, SESSION_STATUS, GLOBAL_VARIABLES, and SESSION_VARIABLES, that correspond to the output from the SHOW {GLOBAL|SESSION} STATUS and SHOW {GLOBAL|SESSION} VARIABLES statements.

This was reason enough for me to compile MySQL 5.1 from source and take a look:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 5.1.12-beta-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use information_schema
Database changed
mysql> show tables;
+---------------------------------------+
| Tables_in_information_schema |
+---------------------------------------+
| CHARACTER_SETS |
| COLLATIONS |
| COLLATION_CHARACTER_SET_APPLICABILITY |
| COLUMNS |
| COLUMN_PRIVILEGES |
| ENGINES |
| EVENTS |
| FILES |
| GLOBAL_STATUS |
| GLOBAL_VARIABLES |
| KEY_COLUMN_USAGE |
| PARTITIONS |
| PLUGINS |
| PROCESSLIST |
| REFERENTIAL_CONSTRAINTS |
| ROUTINES |
| SCHEMATA |
| SCHEMA_PRIVILEGES |
| SESSION_STATUS |
| SESSION_VARIABLES |
| STATISTICS |
| TABLES |
| TABLE_CONSTRAINTS |
| TABLE_PRIVILEGES |
| TRIGGERS |
| USER_PRIVILEGES |
| VIEWS |
+---------------------------------------+
27 rows in set (0.00 sec)

So what can you do with it? Certainly a lot. You want to know when your server has been restarted the last time? Here's what to do:
mysql> SELECT (NOW() - INTERVAL VARIABLE_VALUE SECOND) 
AS server_start_time
-> FROM information_schema.GLOBAL_STATUS
-> WHERE VARIABLE_NAME = 'UPTIME';
+---------------------+
| server_start_time |
+---------------------+
| 2006-09-23 20:38:05 |
+---------------------+
1 row in set (0.00 sec)

There are other nice things you can do. You can create a monitoring table and an event to copy the values of all Com% status variables into the monitoring table regularily, like so:
SELECT NOW() AS ts, 
VARIABLE_NAME, VARIABLE_VALUE
FROM information_schema.GLOBAL_STATUS
WHERE VARIABLE_NAME LIKE 'Com%'

And that's certainly not everything you can do ;-).

Sunday, August 27, 2006

db4free.net runs dev source version again (5.1.12)

It's three months ago since MySQL 5.1.11 was released and many things have changed since then. Just watch the Change Log for 5.1.12 - I believe it's one of the longest ever:

http://dev.mysql.com/doc/refman/5.1/en/news-5-1-12.html

But I've found another nice and interesting thing: watch this bug report. This says that it's now allowed to do many more things in Prepared Statements inside Stored Procedures:

SHOW BINLOG EVENTS
SHOW (MASTER | SLAVE) STATUS
SHOW (MASTER | BINARY) LOGS
SHOW (PROCEDURE | FUNCTION) CODE (parsable only in debug builds)
SHOW CREATE (PROCEDURE | FUNCTION | EVENT | TABLE | VIEW)
SHOW (AUTHORS | CONTRIBUTORS | WARNINGS | ERRORS)
CHANGE MASTER
RESET (MASTER | SLAVE | QUERY CACHE)
SLAVE (START | STOP)
CHECKSUM (TABLE | TABLES)
INSTALL PLUGIN
UNINSTALL PLUGIN
CACHE INDEX
LOAD INDEX INTO CACHE
GRANT
REVOKE
KILL
(CREATE | RENAME | DROP) DATABASE
(CREATE | RENAME | DROP) USER
FLUSH (TABLE | TABLES | TABLES WITH READ LOCK | HOSTS | PRIVILEGES |
LOGS | STATUS | MASTER | SLAVE | DES_KEY_FILE | USER_RESOURCES)

Ain't that nice? This gives a lot more flexibility to dynamic SQL! (I know some guys who will have a lot of fun with that ;-))

This was reason enough for me to update the MySQL 5.1 server (on Port 3307) on db4free.net to this latest Development Source version. So you can try out all the nice enhancements that have been introduced in the last three months.

Enjoy!