* How can I tell the Python MySQL connector which SSL/TLS protocol to use? Either specific (e.g. TLS1.2) or minimum.
* How can I check which protocol is used on an established connection?

I've got an app that uses `mysql-connector-python` (8.0.18). I connect something like this:

```
cnx = mysql.connector.connect(user='x', password='y', host='localhost', database='xyz')

```

Usually this gives me no trouble, but recently on a web hosting providers server it stopped working. The error I'm now getting is along the lines of:

```
mysql.connector.errors.InterfaceError: 2026 (HY000): SSL connection error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number

```

And (connecting through Flask-SQLAlchemy setup):

```
_mysql_connector.MySQLInterfaceError: SSL connection error: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

```

What I can confirm is that if I instead do `ssl_disabled=True`, as below, it connects properly (but without SSL/TLS I assume):

```
cnx = mysql.connector.connect(user='x', password='y', host='localhost', database='xyz', ssl_disabled=True)

```

I cannot alter the providers server, but they say that if I specify a specific version to use, for example TLS1.2, then it should connect properly. They also mention using the [`ssl.OP_NO_SSLv3` flag](https://docs.python.org/3/library/ssl.html#ssl.OP_NO_SSLv3), however that is part of the SSLContext setup which I'm unsure how to apply to my connection.

I see that on their MySQL instance (which I cannot edit) they have no value set for:

* `SHOW VARIABLES LIKE 'tls_version'`
* `SHOW STATUS LIKE 'Ssl_cipher'`
* `SHOW STATUS LIKE 'Ssl_version'`