mysql - 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'
解决方案
我解决了!如果我使用端口 3307 而不是 3306,它也可以在本地机器上工作!
推荐阅读
- css - 如何在 sap.m.DatePicker 中为月份着色?
- c# - BulkCopy 不复制读取数据
- sql - 如何在sql中将总计作为单独的总计列
- sip - 为什么 SIP 跟踪在 200 OK 的 VIA 中两次显示 UAS URI
- react-native - “不变违规:requireNativeComponent:\”SwipeView\”未在 UIManager 中找到
- sublimetext3 - 如何使用 SublimeREPL 运行选定的 Python 代码
- firebase - Firebase A/B 测试支持的渠道
- python - 新窗口格式
- node.js - 在计时器模式下使用 Azure 函数填充存储表
- java - 尝试使用 SWT 会导致许多错误