Em primeiro lugar a diferença.
mod_authn_dbd fornece front-ends de autenticação como mod_auth_digest e mod_auth_basic para autenticar usuários pesquisando usuários em tabelas SQL.
mod_auth_mysql é um módulo do Apache que permite autenticação usando dados de usuários e grupos armazenados em bancos de dados MySQL. O projeto parece não ter sido atualizado desde 2005, então eu usaria mod_authn_dbd .
Para configurar isso corretamente, primeiro você precisa configurar o mod_authn_dbd e o mod_dbd corretamente em sua configuração do apache, o mod_dbd cuida da sua conexão com o banco de dados. Depois de fazer isso (certifique-se de que seu Apache está rodando com esses módulos ativos), então você pode continuar configurando-os.
Adicione algo assim à sua configuração do apache para configurar a conexão do banco de dados:
<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>
Agora adicione sua configuração de autenticação desejada na configuração do 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>
Simplifiquei a instrução SELECT para melhor legibilidade, você precisa expandi-la para refinar sua configuração.
EDITAR:
Depois de digitar, encontrei um exemplo muito bom na web, talvez leia aqui , também. É muito mais profundo do que a minha resposta simplificada.