Index: django/contrib/gis/utils/layermapping.py
===================================================================
--- django/contrib/gis/utils/layermapping.py	(revision 9498)
+++ django/contrib/gis/utils/layermapping.py	(working copy)
@@ -116,7 +116,6 @@
     OGRException, OGRGeometry, OGRGeomType, SpatialReference
 from django.contrib.gis.gdal.field import \
     OFTDate, OFTDateTime, OFTInteger, OFTReal, OFTString, OFTTime
-from django.contrib.gis.models import GeometryColumns, SpatialRefSys
 from django.db import models, transaction
 from django.contrib.localflavor.us.models import USStateField
 
@@ -189,7 +188,10 @@
 
         # Getting the geometry column associated with the model (an 
         # exception will be raised if there is no geometry column).
-        self.geo_col = self.geometry_column()
+        if SpatialBackend.mysql:
+            transform = False
+        else:
+            self.geo_col = self.geometry_column()
 
         # Checking the source spatial reference system, and getting
         # the coordinate transformation object (unless the `transform`
@@ -327,6 +329,7 @@
 
     def check_srs(self, source_srs):
         "Checks the compatibility of the given spatial reference object."
+        from django.contrib.gis.models import SpatialRefSys
         if isinstance(source_srs, SpatialReference):
             sr = source_srs
         elif isinstance(source_srs, SpatialRefSys):
@@ -498,6 +501,7 @@
     #### Other model methods ####
     def coord_transform(self):
         "Returns the coordinate transformation object."
+        from django.contrib.gis.models import SpatialRefSys
         try:
             # Getting the target spatial reference system
             target_srs = SpatialRefSys.objects.get(srid=self.geo_col.srid).srs
@@ -509,11 +513,12 @@
 
     def geometry_column(self):
         "Returns the GeometryColumn model associated with the geographic column."
+        from django.contrib.gis.models import GeometryColumns
         # Getting the GeometryColumn object.
         try:
             db_table = self.model._meta.db_table
             geo_col = self.geom_field
-            if SpatialBackend.name == 'oracle':
+            if SpatialBackend.oracle:
                 # Making upper case for Oracle.
                 db_table = db_table.upper()
                 geo_col = geo_col.upper()
Index: django/contrib/gis/tests/__init__.py
===================================================================
--- django/contrib/gis/tests/__init__.py	(revision 9498)
+++ django/contrib/gis/tests/__init__.py	(working copy)
@@ -29,7 +29,7 @@
         elif postgis:
             test_models += ['distapp', 'layermap', 'relatedapp']
         elif mysql:
-            test_models += ['relatedapp']
+            test_models += ['relatedapp', 'layermap']
 
         test_suite_names += [
             'test_gdal_driver',
Index: django/contrib/gis/tests/layermap/tests.py
===================================================================
--- django/contrib/gis/tests/layermap/tests.py	(revision 9498)
+++ django/contrib/gis/tests/layermap/tests.py	(working copy)
@@ -1,8 +1,8 @@
 import os, unittest
 from copy import copy
-from datetime import date
 from decimal import Decimal
 from models import City, County, CountyFeat, Interstate, State, city_mapping, co_mapping, cofeat_mapping, inter_mapping
+from django.contrib.gis.db.backend import SpatialBackend
 from django.contrib.gis.utils.layermapping import LayerMapping, LayerMapError, InvalidDecimal, MissingForeignKey
 from django.contrib.gis.gdal import DataSource
 
@@ -85,7 +85,8 @@
             lm = LayerMapping(Interstate, inter_shp, inter_mapping)
             lm.save(silent=True, strict=True)
         except InvalidDecimal:
-            pass
+            # No transactions for geoms on MySQL; delete added features.
+            if SpatialBackend.mysql: Interstate.objects.all().delete()
         else:
             self.fail('Should have failed on strict import with invalid decimal values.')
 
@@ -151,7 +152,8 @@
             self.assertRaises(e, LayerMapping, County, co_shp, co_mapping, transform=False, unique=arg)
 
         # No source reference system defined in the shapefile, should raise an error.
-        self.assertRaises(LayerMapError, LayerMapping, County, co_shp, co_mapping)
+        if not SpatialBackend.mysql:
+            self.assertRaises(LayerMapError, LayerMapping, County, co_shp, co_mapping)
 
         # Passing in invalid ForeignKey mapping parameters -- must be a dictionary
         # mapping for the model the ForeignKey points to.
@@ -227,8 +229,9 @@
         lm.save(fid_range=slice(None, 1), silent=True, strict=True) # layer[:1]
 
         # Only Pueblo & Honolulu counties should be present because of
-        # the `unique` keyword.
-        qs = County.objects.all()
+        # the `unique` keyword.  Have to set `order_by` on this QuerySet 
+        # or else MySQL will return a different ordering than the other dbs.
+        qs = County.objects.order_by('name') 
         self.assertEqual(2, qs.count())
         hi, co = tuple(qs)
         hi_idx, co_idx = tuple(map(NAMES.index, ('Honolulu', 'Pueblo')))
Index: django/contrib/gis/tests/layermap/tests_mysql.py
===================================================================
--- django/contrib/gis/tests/layermap/tests_mysql.py	(revision 0)
+++ django/contrib/gis/tests/layermap/tests_mysql.py	(revision 0)
@@ -0,0 +1 @@
+from tests import *
