擅长:python、mysql、java
<p>我将在这里添加另一个解决方案,因为我在这个问题上遇到了困难。为了从Flask中访问数据库,我使用了<code>mysql-connector</code>(可以通过<code>pip install mysql-connector</code>安装),输入mysql shell并运行以下代码<code>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';</code></p>
<p>然后我使用以下配置连接到mysql:</p>
<pre><code>from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from .db import db
app = Flask(__name__)
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqlconnector://root:foo@127.0.0.1:3306/bar_db'
db = SQLAlchemy(app)
</code></pre>
<p>我仍然不太清楚为什么需要这种解决方案,因为我以前从未有意在任何其他Python应用程序中使用过它,但是它似乎确实可以与libmysqlclient一起使用。在</p>
<p>src:<a href="https://dev.mysql.com/doc/refman/8.0/en/native-pluggable-authentication.html" rel="nofollow noreferrer">https://dev.mysql.com/doc/refman/8.0/en/native-pluggable-authentication.html</a></p>