Eu estava tendo um problema semelhante. Estou usando windows 8 e mysql.
A maneira como resolvi o problema foi entrando no meu
A versão de 32 bits ou 64 bits, dependendo do seu computador.
Então você clica no arquivo DNS do sistema. Se você não vir nenhum driver MySQL, clique em ADD. Ele traz uma lista, dessa lista selecione o driver MySQL.
Para mim, foi o MySQL ODBC 5.3 ANSI (eles também têm um driver unicode). Clique em finalizar. Depois de fazer isso, você deve alterar sua linha de conexão em seu código para o driver correspondente que você acabou de preencher.
Ex:
def create_mysql_conn():
return pyodbc.connect(r'Driver={MySQL ODBC 5.3 ANSI Driver};Server=MSSQLSRV;Database=ecomm;Trusted_Connection=yes;')
Isso deve funcionar, ou pelo menos resolveu meu problema de conexão porque eu estava recebendo todos os tipos de erros diferentes com tudo o que tentei. Foi isso que resolveu o problema para mim.