Tuve el mismo problema y lo resolví agregando use_pure=True
argumento basado en una sugerencia aquí
:
import mysql.connector as sql
db_connection = sql.connect(host='****', database='****', user='****', password='****', use_pure=True)
Paquetes relevantes en mi mac:mysql-connector-python 8.0.16
y openssl 1.1.1b
instalado (ambos anaconda).