You don't _need_ mysql to run mapguide (it uses a filesystem based repository). However mapguide can digest MySQL as a datasource to display maps.
In order to display a map you will need.
- Datasource (this can be SDFs, SHPs, connections to database, etc)
- Layer (consumes the datasource and styles the information)
- Map (contains the layers you want to display)
- Layout (contains the information for the interface around the map and what maps to display)
(technically you don't need a layout if you don't bother with the included viewers)
In order for mapguide to work with MySQL you will need tables with:
- A primary key (this is used for the selection)
- A Geometry Column (I think there are geom, point, line, polygon, etc). Also you will want to build an index on this (I think it uses rtree by default).
You can also make an FDO schema from within map or civil or other tools. This defines the tables, coordinate systems, keys, etc. It is a bit more flexible the just making a table in an empty database but requires more configuration/maintenance.
Once you have that it _should_ show up in the layer on the drop down below the datasource. (Just note we haven't used mysql for awhile. So I might be wrong on some things).