首页 > 解决方案 > MySQL8 - 'caching_sha2_password 需要 SSL'

问题描述

我已在我的服务器上更改为 Mysql8。我通过 ssh 连接到服务器。使用(例如)VScode 数据库资源管理器,我可以在服务器上使用,但是从带有 MySQL 连接器的 Python3 中,我没有。

在服务器端,“ssl_disabled=True”解决了这个问题,但在我的电脑上,我无法连接到服务器的数据库。

import mysql.connector
from mysql.connector import Error

def create_connection():
    connection = None
    try:
        connection = mysql.connector.connect(
            host='host',
            port='port',
            user='user',
            passwd='passwd',
            database='db',
            ssl_disabled=True,
            )
        print("Connection to MySQL DB successful")
    except Error as e:
        print(f"Error in create_connection -->\n '{e}'")
    return connection

create_connection()

我尝试运行它并得到:

 'caching_sha2_password requires SSL'

标签: mysqlpython-3.x

解决方案


我解决了!如果我使用端口 3307 而不是 3306,它也可以在本地机器上工作!


推荐阅读