Index: django/db/backends/mysql/validation.py
===================================================================
--- django/db/backends/mysql/validation.py	(revision 17163)
+++ django/db/backends/mysql/validation.py	(working copy)
@@ -11,11 +11,17 @@
           characters if they have a unique index on them.
         """
         from django.db import models
-        db_version = self.connection.get_server_version()
+        from MySQLdb import OperationalError
+        try:
+            db_version = self.connection.get_server_version()
+            text_version = '.'.join([str(n) for n in db_version[:3]])
+        except OperationalError:
+            db_version = None
+            text_version = ''
         varchar_fields = (models.CharField, models.CommaSeparatedIntegerField,
                 models.SlugField)
         if isinstance(f, varchar_fields) and f.max_length > 255:
-            if db_version < (5, 0, 3):
+            if db_version and db_version < (5, 0, 3):
                 msg = '"%(name)s": %(cls)s cannot have a "max_length" greater than 255 when you are using a version of MySQL prior to 5.0.3 (you are using %(version)s).'
             elif f.unique == True:
                 msg = '"%(name)s": %(cls)s cannot have a "max_length" greater than 255 when using "unique=True".'
@@ -23,4 +29,4 @@
                 msg = None
 
             if msg:
-                errors.add(opts, msg % {'name': f.name, 'cls': f.__class__.__name__, 'version': '.'.join([str(n) for n in db_version[:3]])})
+                errors.add(opts, msg % {'name': f.name, 'cls': f.__class__.__name__, 'version': text_version})
