Index: lib/sqlalchemy/databases/mysql.py
===================================================================
--- lib/sqlalchemy/databases/mysql.py	(revision 2731)
+++ lib/sqlalchemy/databases/mysql.py	(working copy)
@@ -1083,7 +1083,11 @@
             cs = cs.tostring()
         case_sensitive = int(cs) == 0
 
-        decode_from = connection.execute("show variables like 'character_set_results'").fetchone()[1]
+        csr = connection.execute("show variables like 'character_set_results'").fetchone()
+        if csr:
+            decode_from = csr[1]
+        else:
+            decode_from = None
 
         if not case_sensitive:
             table.name = table.name.lower()
@@ -1103,7 +1107,7 @@
 
             # these can come back as unicode if use_unicode=1 in the mysql connection
             (name, type, nullable, primary_key, default) = (row[0], str(row[1]), row[2] == 'YES', row[3] == 'PRI', row[4])
-            if not isinstance(name, unicode):
+            if decode_from and not isinstance(name, unicode):
                 name = name.decode(decode_from)
 
             match = re.match(r'(\w+)(\(.*?\))?\s*(\w+)?\s*(\w+)?', type)
