Der Zugriff auf den Flaschencontainer des Benutzers wurde verweigertPython

Python-Programme
Anonymous
 Der Zugriff auf den Flaschencontainer des Benutzers wurde verweigert

Post by Anonymous »

Ich verwende zwei Docker-Container, einer ist MySQL DB und der andere ist die Flask-App. Das Problem ist, dass ich beim Nachahmen einer Migration die Fehlermeldung „Zugriff verweigert für Benutzer“ gefolgt von der IP des Flask-Containers (MySQLdb) erhalte ._Exceptions.OperationalError) (1045, „Zugriff für Benutzer ‚alex‘@‘172.18.0.3‘ verweigert (mit Passwort: JA)")
Hier ist, was ich bisher versucht habe:
Erstellte einen neuen Benutzer anstelle von Root und legte die Berechtigungen und ein neues Passwort fest .
Beide Container, den MySQL-Container und den Flask-Container, zum Bridge-Netzwerk hinzugefügt.
Address-bind = 0.0.0.0 hinzugefügt
Es wurde versucht, eine Verbindung herzustellen Ich habe es manuell in den Flaschencontainer eingefügt und es hat irgendwie funktioniert, was interessant ist.
Das Problem, das ich habe, ist, dass ich immer wieder die Fehlermeldung erhalte, dass der Zugriff für meinen Benutzer verweigert wird und er mir die IP gibt des Flaschencontainers, was seltsam ist, und ich habe diese spezifische IP als Host zum mysql.user hinzugefügt und immer noch kein Glück, und ich habe auch den Benutzer mit „%“ und localhost hinzugefügt und immer noch ohne Glück.
Hier ist der Fehler: sqlalchemy.exc.OperationalError: (MySQLdb._Exceptions.OperationalError) (1045, „Zugriff verweigert für Benutzer ‚alex‘@‘172.18.0.3‘ (mit Passwort: JA)“)
Docker-Datei:

Code: Select all

FROM python:3.10.9
ENV PYTHONBUFFERED 1
WORKDIR /app
COPY requirements.txt /app/requirements.txt
RUN pip install -r requirements.txt
COPY ./ app

CMD ["python", "main.py"]
Docker-Compose-Datei:

Code: Select all

services:
backend :
environment:
- FLASK_APP=main.py
build:
context: .
dockerfile: Dockerfile

ports:
- 8001:5000
volumes:
- .:/app
depends_on:
- db

db:
image: mysql:8.0.39
restart: always
environment:
MYSQL_DATABASE: main
#MYSQL_ALLOW_EMPTY_PASSWORD: yes
MYSQL_USER: alex
MYSQL_PASSWORD: root_password
MYSQL_ROOT_PASSWORD: root_pass
volumes:
- .dbdata:/var/lib/mysql
ports:
- 33069:3306
Hauptflaschen-App:

Code: Select all

from flask import Flask
from flask_cors import CORS
from flask_migrate import Migrate
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import UniqueConstraint

app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://alex:root_password@db:3306/main'
CORS(app)
db = SQLAlchemy(app)
migrate = Migrate(app, db)

print(app.config['SQLALCHEMY_DATABASE_URI'])

class Product(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=False)
title = db.Column(db.String(200))
image = db.Column(db.String(200))

class ProductUser(db.Model):
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer)
product_id = db.Column(db.Integer)

UniqueConstraint('user_id', 'product_id', name='product_user_unique')

@app.route('/')
def index():
return 'Hello'

print(app.config['SQLALCHEMY_DATABASE_URI'])
if __name__ == '__main__':
app.run(debug=True , host='0.0.0.0')

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post