En primer lugar la diferencia.
mod_authn_dbd proporciona interfaces de autenticación como mod_auth_digest y mod_auth_basic para autenticar usuarios buscándolos en tablas SQL.
mod_auth_mysql es un módulo de Apache que permite la autenticación utilizando datos de usuarios y grupos almacenados en bases de datos MySQL. Parece que el proyecto no se ha actualizado desde 2005, así que elegiría mod_authn_dbd .
Para configurar esto correctamente, primero debe configurar mod_authn_dbd y mod_dbd correctamente en su configuración de apache, mod_dbd se encarga de la conexión de su base de datos. Una vez que haya hecho esto (asegúrese de que su Apache se esté ejecutando con esos módulos activos), puede continuar configurándolos.
Agregue algo como esto a su configuración de apache para configurar la conexión de la base de datos:
<IfModule mod_dbd.c>
DBDriver mysql
DBDParams "host=(your_db_server, p.e. 127.0.0.1) dbname=your_db_name user=your_db_user pass=your_db_pass"
DBDMin 1
DBDKeep 8
DBDMax 20
DBDExptime 200
</IfModule>
Ahora agregue su configuración de autenticación deseada en la configuración de apache:
<Directory "/your/svn/repository/path/">
Options FollowSymLinks Indexes MultiViews
AuthType Basic
AuthName "Allowed users Only"
AuthBasicProvider dbd
AuthDBDUserPWQuery "SELECT pwd FROM tbl_users, tbl_user_group WHERE tbl_users.user_id=%s AND tbl_user.user_id=tbl_user_group.user_id"
Require valid-user
AllowOverride None
Order allow,deny
Allow from all
</Directory>
He simplificado la declaración SELECT para una mejor legibilidad, debe expandir esto para refinar su configuración.
EDITAR:
Después de escribir, encontré un muy buen ejemplo en la web, tal vez lo lea aquí , también. Va mucho más allá de mi respuesta simplificada.