Skip to content

Rename a database in MySQL

Ever tried to rename a database in MySQL? Obviously not.

Why not? MySQL does not support renaming databases. Funny, eh?

They once tried to implement this feature but failed and removed the code again. Note the sudden major feature shifts in minor releases.

So, how to rename a database? Dump the database, create a new database and import the dump. Both steps can be executed together:

mysqldump old_database | mysql new_database
  • Twitter
  • Bookmark Rename a database in MySQL at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg Rename a database in MySQL
  • Bloglines Rename a database in MySQL
  • Technorati Rename a database in MySQL
  • Fark this: Rename a database in MySQL
  • Bookmark Rename a database in MySQL at YahooMyWeb
  • Bookmark Rename a database in MySQL at Furl.net
  • Bookmark Rename a database in MySQL at reddit.com
  • Bookmark Rename a database in MySQL at blinklist.com
  • Bookmark Rename a database in MySQL at Spurl.net
  • Bookmark Rename a database in MySQL at Simpy.com
  • Bookmark Rename a database in MySQL at blogmarks
  • Bookmark Rename a database in MySQL with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca

MySQL: what shall be repaired?

A website shows the following error message:

SQLSTATE[HY000]: General error: 126 Incorrect key file for table '/tmp/#sql_1898_0.MYI'; try to repair it

So, MySQL: which table is to repair? The error message is not a table, it's just the temp file.

Stupid and useless error message ...

  • Twitter
  • Bookmark MySQL: what shall be repaired? at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg MySQL: what shall be repaired?
  • Bloglines MySQL: what shall be repaired?
  • Technorati MySQL: what shall be repaired?
  • Fark this: MySQL: what shall be repaired?
  • Bookmark MySQL: what shall be repaired? at YahooMyWeb
  • Bookmark MySQL: what shall be repaired? at Furl.net
  • Bookmark MySQL: what shall be repaired? at reddit.com
  • Bookmark MySQL: what shall be repaired? at blinklist.com
  • Bookmark MySQL: what shall be repaired? at Spurl.net
  • Bookmark MySQL: what shall be repaired? at Simpy.com
  • Bookmark MySQL: what shall be repaired? at blogmarks
  • Bookmark MySQL: what shall be repaired? with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca

About this new MySQL Emulation Layer in PostgreSQL 9.0

This blog post of mine about the new MySQL Emulation Layer in PostgreSQL 9.0 was (more of less obvious) an april joke. Most readers have guessed right.

On the other hand the idea, that this joke is based, is very real: during the last conferences and exhibitions which I have attended, a lot visitors asked us (the PostgreSQL booth staff) about the future of MySQL.

Guess what - we don't know! Please ask Larry ;-)

The next question was usually about porting a MySQL database to PostgreSQL. Many companies selling products with MySQL inside are irritated - and frustrated: "Can i still buy a MySQL license in a year or two?" - "And if yes: how many bucks will Oracle request for this?". "Will Oracle still offer support or will they try to convience everyone to use Oracle database?" At this point many companies start to look for some other database - and PostgreSQL is there, happy to help.

I would like to thank David Fetter at this point, he did the proofreading for my post.


Continue reading "About this new MySQL Emulation Layer in PostgreSQL 9.0"
  • Twitter
  • Bookmark About this new MySQL Emulation Layer in PostgreSQL 9.0 at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg About this new MySQL Emulation Layer in PostgreSQL 9.0
  • Bloglines About this new MySQL Emulation Layer in PostgreSQL 9.0
  • Technorati About this new MySQL Emulation Layer in PostgreSQL 9.0
  • Fark this: About this new MySQL Emulation Layer in PostgreSQL 9.0
  • Bookmark About this new MySQL Emulation Layer in PostgreSQL 9.0 at YahooMyWeb
  • Bookmark About this new MySQL Emulation Layer in PostgreSQL 9.0 at Furl.net
  • Bookmark About this new MySQL Emulation Layer in PostgreSQL 9.0 at reddit.com
  • Bookmark About this new MySQL Emulation Layer in PostgreSQL 9.0 at blinklist.com
  • Bookmark About this new MySQL Emulation Layer in PostgreSQL 9.0 at Spurl.net
  • Bookmark About this new MySQL Emulation Layer in PostgreSQL 9.0 at Simpy.com
  • Bookmark About this new MySQL Emulation Layer in PostgreSQL 9.0 at blogmarks
  • Bookmark About this new MySQL Emulation Layer in PostgreSQL 9.0 with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca

PostgreSQL 9.0: Includes the new MySQL Emulation Layer

PostgreSQL 9.0.0, released today, contains the MySQL Emulation Layer.

To enable this feature, set the mysql_compatible option GUC to "on".

postgres=# SELECT * FROM pg_settings WHERE name = 'mysql_compatible';
-[ RECORD 1 ]----------------------------------------------------------------
name         | mysql_compatible
setting       | ON
unit            |
category     | Version AND Platform Compatibility / Other Platforms AND Clients
short_desc | Enable MySQL Emulation Layer
extra_desc |
context       | backend
vartype      | bool
SOURCE        | DEFAULT
min_val      |
max_val     |
Continue reading "PostgreSQL 9.0: Includes the new MySQL Emulation Layer"
  • Twitter
  • Bookmark PostgreSQL 9.0: Includes the new MySQL Emulation Layer at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg PostgreSQL 9.0: Includes the new MySQL Emulation Layer
  • Bloglines PostgreSQL 9.0: Includes the new MySQL Emulation Layer
  • Technorati PostgreSQL 9.0: Includes the new MySQL Emulation Layer
  • Fark this: PostgreSQL 9.0: Includes the new MySQL Emulation Layer
  • Bookmark PostgreSQL 9.0: Includes the new MySQL Emulation Layer at YahooMyWeb
  • Bookmark PostgreSQL 9.0: Includes the new MySQL Emulation Layer at Furl.net
  • Bookmark PostgreSQL 9.0: Includes the new MySQL Emulation Layer at reddit.com
  • Bookmark PostgreSQL 9.0: Includes the new MySQL Emulation Layer at blinklist.com
  • Bookmark PostgreSQL 9.0: Includes the new MySQL Emulation Layer at Spurl.net
  • Bookmark PostgreSQL 9.0: Includes the new MySQL Emulation Layer at Simpy.com
  • Bookmark PostgreSQL 9.0: Includes the new MySQL Emulation Layer at blogmarks
  • Bookmark PostgreSQL 9.0: Includes the new MySQL Emulation Layer with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca

Support your database!

Happened on IRC, just minutes ago:

22:35:09 -!- michi7x7 has joined #postgresql
22:35:14 < michi7x7> hi all
22:35:44 < michi7x7> i have a problem with a mysql-query, but #mysql is full of mysql-lover-noobs

Users start asking the PostgreSQL-guys for MySQL-support. Times are changing ;-)

  • Twitter
  • Bookmark Support your database! at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg Support your database!
  • Bloglines Support your database!
  • Technorati Support your database!
  • Fark this: Support your database!
  • Bookmark Support your database! at YahooMyWeb
  • Bookmark Support your database! at Furl.net
  • Bookmark Support your database! at reddit.com
  • Bookmark Support your database! at blinklist.com
  • Bookmark Support your database! at Spurl.net
  • Bookmark Support your database! at Simpy.com
  • Bookmark Support your database! at blogmarks
  • Bookmark Support your database! with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca

MySQL: SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/xyz' (Errcode: 28)

If you run MySQL and this error occurs:

 SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/MYh0VgDS' (Errcode: 28)

then check if your server isn't using the famous "overflow" filesystem for /tmp, limited to 1 MB space.

The MySQL error message is - as usual - misleading and non-descriptive.

There are many other possible causes for this error code, so this one here might just be a hint.

  • Twitter
  • Bookmark MySQL: SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/xyz' (Errcode: 28) at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg MySQL: SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/xyz' (Errcode: 28)
  • Bloglines MySQL: SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/xyz' (Errcode: 28)
  • Technorati MySQL: SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/xyz' (Errcode: 28)
  • Fark this: MySQL: SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/xyz' (Errcode: 28)
  • Bookmark MySQL: SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/xyz' (Errcode: 28) at YahooMyWeb
  • Bookmark MySQL: SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/xyz' (Errcode: 28) at Furl.net
  • Bookmark MySQL: SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/xyz' (Errcode: 28) at reddit.com
  • Bookmark MySQL: SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/xyz' (Errcode: 28) at blinklist.com
  • Bookmark MySQL: SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/xyz' (Errcode: 28) at Spurl.net
  • Bookmark MySQL: SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/xyz' (Errcode: 28) at Simpy.com
  • Bookmark MySQL: SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/xyz' (Errcode: 28) at blogmarks
  • Bookmark MySQL: SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/xyz' (Errcode: 28) with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca

MySQL creates rows out of nothing

After issuing a REPAIR TABLE:

 mysql> repair table search_archive_count_checked;
+----------------------------------+--------+----------+----------------------------------------------+
| Table                            | Op     | Msg_type | Msg_text                                     |
+----------------------------------+--------+----------+----------------------------------------------+
| xxx.search_archive_count_checked | repair | warning  | Number of rows changed from 335540 to 365874 |
| xxx.search_archive_count_checked | repair | status   | OK                                           |
+----------------------------------+--------+----------+----------------------------------------------+
2 rows in set (36.75 sec)

I'm surprised: this is the first database which is able to create rows out of nothing. Violation of the conversation of energy data, eh? ;-)

  • Twitter
  • Bookmark MySQL creates rows out of nothing at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg MySQL creates rows out of nothing
  • Bloglines MySQL creates rows out of nothing
  • Technorati MySQL creates rows out of nothing
  • Fark this: MySQL creates rows out of nothing
  • Bookmark MySQL creates rows out of nothing at YahooMyWeb
  • Bookmark MySQL creates rows out of nothing at Furl.net
  • Bookmark MySQL creates rows out of nothing at reddit.com
  • Bookmark MySQL creates rows out of nothing at blinklist.com
  • Bookmark MySQL creates rows out of nothing at Spurl.net
  • Bookmark MySQL creates rows out of nothing at Simpy.com
  • Bookmark MySQL creates rows out of nothing at blogmarks
  • Bookmark MySQL creates rows out of nothing with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca

MySQL Kundenkonferenz aka Sun Roadshow 2008

Am 21. Oktober 2008 war ich auf der MySQL Kundenkonferenz 2008 in München.

Es ist schon erstaunlich wie man aus einer anscheinend guten Konferenz (Aussage mehrerer Teilnehmer über die vorherige Veranstaltung) eine reine Werbeveranstaltung machen kann. Gleich zu Beginn gab es eine lange Warteschlange im Foyer des Hilton Hotels, die Damen am Empfang waren mit den über 200 Teilnehmern anscheinend etwas überfordert. Kommt halt nicht jeden Tag vor das alle Teilnehmer kurz vor Konferenzbeginn ankommen. Das Frühstück bzw. das Essen überhaupt war gut, aber für jemanden der keinen Kaffee trinkt blieb dann nur Wasser oder ein paar Sorten Tee zum selbst zubereiten übrig.

Etwas verspätet begann die Veranstaltung mit der Eröffnung durch Kaj Arnö sowie einem Vortrag von Robin Schumacher über die nächsten Schritte bei MySQL. Version 5.1 soll demnach noch dieses Jahr, Version 6 dann nächstes Jahr erscheinen. Zum häufiger nachgefragten Thema "Storage Engines" wurden den ganzen Tag über nicht viele Aussagen getroffen.

Die Fachvorträge waren meines Erachtens ihren Namen nicht wert. Der Memcached Vortrag glänzte mit einigen Folien die die Struktur solch eines Setups beschreiben. Effektiv etwas neues oder auch mal einen Blick ins Detail gab es jedoch nicht, auch wurde viel Wert auf MySQL gelegt und der Memcached mehr oder weniger nebenbei abgehandelt. Der Vortrag über den MySQL Proxy blieb ebenfalls weit hinter den Erwartungen zurück: es gab oberflächliche Informationen, wie und wo man den Proxy einsetzen könnte. Dazu wurden Vorzüge wie z.B. Sharding beschrieben. Im gesamten Vortrag habe ich jedoch Hinweise auf die möglichen Nachteile vermisst die bei solch einem Setup auftreten können - erst Recht wenn der Proxy transparent zwischen Kundenanwendungen und Datenbanken geschaltet wird.

Der Vortrag über den Stand der MySQL-Integration in Sun beschreibt im wesentlichen was zu erwarten war: alles läuft nach Plan.

Am Nachmittag gab es dann das unerwartete Highlight des Tages: Miriam Tuerk hält einen spannenden deutsch/englisch-gemischten Vortrag über Infobright. Die Technologie dahinter ist im wesentlichen eine Storage-Engine welche für Data Warehouse Anwendungen optimiert ist. Diverse Metadaten werden gleich beim Schreiben der Daten mitgespeichert und im besten Fall können Anfragen aus diesen Metadaten beantwortet werden. Laut Aussage von David Lutz (Infobright) ist das Konzept auch gut zur Auswertung großer Mengen an Logdateien geeignet, also werde ich dem ganzen mal einen Versuch gönnen. Erwähnenswert ist außerdem dass das für mich die erste sinnvolle Anwendung der austauschbaren Storage-Engines in MySQL darstellt.

Der "MySQL Performance Tuning" Vortrag fiel dann wieder zurück auf das Niveau des gesamten Tages: einige wenig aussagekräftige Folien und der Informationsgehalt des Vortrags war an sich Null. Selbst die Vorführung des "Enterprise Monitor" Tools wollte nicht recht gelingen.

Die Fragestunde zum Schluß zeigte viele interessante und tiefgreifend technische Fragen die offensichtlich während der Konferenz keinen Platz gefunden haben. Das verleitet mich zu der Annahme das diverse Teilnehmer ebenfalls mit einer anderen Erwartungshaltung nach München gekommen sind. Robin Schumacher war hierbei in seinem Element und konnte/durfte die meisten Fragen beantworten.

Das sonst übliche "Netzwerken" nach dem Ende der Konferenz viel erstaunlich kurz aus. Innerhalb weniger Minuten waren die meisten Teilnehmer verschwunden - was wiederum Platz für Fragen bei den MySQL Leuten ergab. Dabei zeigte sich dann dass das niedrige Niveau der Konferenz keineswegs an den Vortragenden selbst lag: auf alle technischen Fragen gab es eine Antwort.

Die Folien zur Konferenz sollten spätestens zwei Wochen später auf der Webseite verfügbar sein. Sehr lange zwei Wochen später lag dann heute eine E-Mail in meinem Postfach: [Link zu den Folien]. Wenn ich mir andere Veranstaltungen - auch und gerade im Open Source Bereich - anschaue dann sind dort die Folien teilweise am gleichen Tag verfügbar.

Bleibt zu hoffen das die nächste Userkonferenz nicht wieder zur Produktshow verkommt.

  • Twitter
  • Bookmark MySQL Kundenkonferenz aka Sun Roadshow 2008 at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg MySQL Kundenkonferenz aka Sun Roadshow 2008
  • Bloglines MySQL Kundenkonferenz aka Sun Roadshow 2008
  • Technorati MySQL Kundenkonferenz aka Sun Roadshow 2008
  • Fark this: MySQL Kundenkonferenz aka Sun Roadshow 2008
  • Bookmark MySQL Kundenkonferenz aka Sun Roadshow 2008 at YahooMyWeb
  • Bookmark MySQL Kundenkonferenz aka Sun Roadshow 2008 at Furl.net
  • Bookmark MySQL Kundenkonferenz aka Sun Roadshow 2008 at reddit.com
  • Bookmark MySQL Kundenkonferenz aka Sun Roadshow 2008 at blinklist.com
  • Bookmark MySQL Kundenkonferenz aka Sun Roadshow 2008 at Spurl.net
  • Bookmark MySQL Kundenkonferenz aka Sun Roadshow 2008 at Simpy.com
  • Bookmark MySQL Kundenkonferenz aka Sun Roadshow 2008 at blogmarks
  • Bookmark MySQL Kundenkonferenz aka Sun Roadshow 2008 with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca

Performance issues

Last year, tweakers.net did some performance tests with MySQL and PostgreSQL and they found out that MySQL did not scale very well with many concurrent connections.


Now Kris Kennaway did some tests on his own and posted the results to the FreeBSD performance list. The resulting graphs look very similar.

  • Twitter
  • Bookmark Performance issues at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg Performance issues
  • Bloglines Performance issues
  • Technorati Performance issues
  • Fark this: Performance issues
  • Bookmark Performance issues at YahooMyWeb
  • Bookmark Performance issues at Furl.net
  • Bookmark Performance issues at reddit.com
  • Bookmark Performance issues at blinklist.com
  • Bookmark Performance issues at Spurl.net
  • Bookmark Performance issues at Simpy.com
  • Bookmark Performance issues at blogmarks
  • Bookmark Performance issues with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca

Primary key in Mysql doubled

Got a nice problem: a table, which has the following primary key: id, id.

You can use or dump this table without problems ... but you cannot reinsert the dump into the same (4.1) or a newer (5.0) mysql version.

This is the table dump, created with "SHOW CREATE TABLE tablename":

----- cut -----
CREATE TABLE tablename (
id int(11) NOT NULL auto_increment,
title_en text,
...
PRIMARY KEY (id,id)
) TYPE=MyISAM DEFAULT CHARSET=latin1;
----- cut -----

Now i try to reinsert this table into another database:

----- cut -----
mysql> CREATE TABLE tablename (
-> id int(11) NOT NULL auto_increment,
-> title_en text,
...
-> PRIMARY KEY (id,id)
-> ) TYPE=MyISAM DEFAULT CHARSET=latin1;
ERROR 1060 (42S21): Duplicate column name 'id'
----- cut -----

What the ...


Should i repeat myself?

  • Twitter
  • Bookmark Primary key in Mysql doubled at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg Primary key in Mysql doubled
  • Bloglines Primary key in Mysql doubled
  • Technorati Primary key in Mysql doubled
  • Fark this: Primary key in Mysql doubled
  • Bookmark Primary key in Mysql doubled at YahooMyWeb
  • Bookmark Primary key in Mysql doubled at Furl.net
  • Bookmark Primary key in Mysql doubled at reddit.com
  • Bookmark Primary key in Mysql doubled at blinklist.com
  • Bookmark Primary key in Mysql doubled at Spurl.net
  • Bookmark Primary key in Mysql doubled at Simpy.com
  • Bookmark Primary key in Mysql doubled at blogmarks
  • Bookmark Primary key in Mysql doubled with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca