diff --git a/django/contrib/gis/db/backends/mysql/schema.py b/django/contrib/gis/db/backends/mysql/schema.py
index 3979182c19..4d708686ba 100644
--- a/django/contrib/gis/db/backends/mysql/schema.py
+++ b/django/contrib/gis/db/backends/mysql/schema.py
@@ -15,6 +15,13 @@ class MySQLGISSchemaEditor(DatabaseSchemaEditor):
         super(MySQLGISSchemaEditor, self).__init__(*args, **kwargs)
         self.geometry_sql = []
 
+    def skip_default(self, field):
+        return (
+            super(MySQLGISSchemaEditor, self).skip_default(field) or
+            # Geometry fields are stored as BLOB/TEXT and can't have defaults.
+            isinstance(field, GeometryField)
+        )
+
     def column_sql(self, model, field, include_default=False):
         column_sql = super(MySQLGISSchemaEditor, self).column_sql(model, field, include_default)
         # MySQL doesn't support spatial indexes on NULL columns
diff --git a/docs/releases/1.7.2.txt b/docs/releases/1.7.2.txt
index 2736f5ec24..db65ec1885 100644
--- a/docs/releases/1.7.2.txt
+++ b/docs/releases/1.7.2.txt
@@ -26,3 +26,6 @@ Bugfixes
   :setting:`STATIC_ROOT` has the default ``None`` value (:ticket:`23717`).
 
 * Added GeoDjango compatibility with mysqlclient database driver.
+
+* Fixed MySQL 5.6+ crash with ``GeometryField``\s in migrations
+  (:ticket:`23719`).