Miałem podobny problem. Używam systemu Windows 8 i mysql.
Sposób, w jaki rozwiązałem problem, to przejście do mojego
W zależności od komputera wersja 32-bitowa lub 64-bitowa.
Następnie klikasz plik System DNS. Jeśli nie widzisz żadnego sterownika MySQL, musisz kliknąć DODAJ. Pojawia się lista, z której wybierz sterownik MySQL.
Dla mnie był to MySQL ODBC 5.3 ANSI (mają też sterownik unicode). Kliknij Zakończ. Gdy to zrobisz, musisz zmienić linię połączenia w kodzie na odpowiedni sterownik, który właśnie wypełniłeś.
Np:
def create_mysql_conn():
return pyodbc.connect(r'Driver={MySQL ODBC 5.3 ANSI Driver};Server=MSSQLSRV;Database=ecomm;Trusted_Connection=yes;')
To powinno działać, a przynajmniej rozwiązało mój problem z połączeniem, ponieważ we wszystkim, co próbowałem, otrzymywałem różne rodzaje błędów. To właśnie rozwiązało problem dla mnie.