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).