I've recently turned to writing markdown documentation, which includes linking to individual table .sql
files (where tables and fields are hopefully intuitively named with plenty of comments).
I keep the individual table schema's in version control, using the following command:
mysqldump --no-data --tab=./tables dbname
The schema for a single table allows you to see comments, indexes, unique keys etc. so is fairly self explanatory (well that is the idea at least).
The master markdown documentation has hyperlinks such as user table peppered throughout, so the reader can easily go to the different tables.