我想在linux(Fedora)上使用python / flask创建一个小的身份验证系统。
我选择MySQL作为主数据库,创建了一个用户表,然后退出exit
。
然后,当我运行程序时,我收到此错误:
操作错误:(1045,u“用户'root'@ localhost'拒绝访问(使用密码:是)”)
所以我尝试访问数据库并尝试修复它,但我无法访问MySQL。
我尝试了所有的命令以及我在许多网页上找到的所有解决方案(包括那里的那些),但似乎没有任何效果。无论是mysql -u root -p
还是sudo mysql...
还是mysqladmin
,我都会一遍又一遍地得到同样的错误。
操作错误:(1045,u“用户'root'@ localhost'拒绝访问(使用密码:是)”)
提供的很多解决方案都是针对Ubuntu的,甚至使用像dpkg reconfigure
这样的命令以及那些对我不起作用的东西。
我甚至没有写入/etc/my.cnf的许可。
以下是我需要的代码(在views.py
中):
from app import mysql
@app.route("/Authenticate")
def Authenticate():
username = request.args.get('UserName')
password = request.args.get('Password')
cursor = mysql.connect().cursor()
cursor.execute("SELECT * from User where Username='" + username + "' and Password='" + password + "'")
data = cursor.fetchone()
if data is None:
return "Username or Password is wrong"
else:
return "Logged in successfully"
和(在__init__.py
中):
mysql = MySQL()
app = Flask(__name__)
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = 'root'
app.config['MYSQL_DATABASE_DB'] = 'EmpData'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql.init_app(app)