Skript erkennt Nutzerrechte nicht an

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Cortez
User
Beiträge: 115
Registriert: Montag 31. Dezember 2018, 15:28

Hallo,

habe leider noch ein Problem:

Mein Skript bringt mir jetzt folgende Fehlermeldung:

Code: Alles auswählen

Traceback (most recent call last):
  File "db_test.py", line 23, in <module>
    cursor.execute(sql)
  File "/home/pi/.local/lib/python3.7/site-packages/mysql/connector/cursor.py", line 577, in execute
    self._handle_result(self._connection.cmd_query(stmt))
  File "/home/pi/.local/lib/python3.7/site-packages/mysql/connector/connection.py", line 695, in cmd_query
    result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query))
  File "/home/pi/.local/lib/python3.7/site-packages/mysql/connector/connection.py", line 582, in _handle_result
    raise errors.get_exception(packet)
mysql.connector.errors.ProgrammingError: 1142 (42000): SELECT command denied to user 'michi@'localhost' for table 'INZIDENZWERTE'
Dabei hat der Nutzer sämtliche Rechte für diese Tabelle:

Code: Alles auswählen

MariaDB [(none)]> show grants for 'michi'@'localhost';
+--------------------------------------------------------------------------------------------------------------+
| Grants for michi@localhost                                                                                   |
+--------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'michi'@'localhost' IDENTIFIED BY PASSWORD '*0753746C1961A9C1D0F071DB37E4147230E4B979' |
| GRANT ALL PRIVILEGES ON `Datenbank1`.`besucher` TO 'michi'@'localhost'                                           |
| GRANT ALL PRIVILEGES ON `Datenbank1`.`test` TO 'michi'@'localhost'                                               |
| GRANT ALL PRIVILEGES ON `Datenbank1`.`inzidenzwerte` TO 'michi'@'localhost'
Hier mal der Code

Code: Alles auswählen

import mysql.connector as mariadb

db_connection = mariadb.connect(user="michi", password="scanner", database ="Datenbank1", host="localhost", port="3306")

cursor = db_connection.cursor()

cursor.execute("USE Datenbank1")

cursor.execute("SHOW TABLES")
for x in cursor:
        print(x)

datum = input ("bitte datum eingeben")
wert = input ("bitte Wert eingeben")


sql = "INSERT INTO inzidenzwerte (Datum, Wert, Grenzwert) VALUES (%s,%s,%s)"
val = (datum,wert,100)
cursor.execute(sql, val)
db_connection.commit()

sql = "SELECT * FROM INZIDENZWERTE"
cursor.execute(sql)
results= cursor.fetchall()
print (results)
Wäre schön, wenn sich nochmal jemand erbarmen würde.

Ganz liebe Grüße und vielen Dank.
Antworten