GRANT ALL PRIVILEGES ON nextcloud.* TO 'oc_pi'@'localhost'WITH GRANT OPTION;
Das solltest Du aus Sicherheitsgründen so lieber nicht machen! Oder magst Du erlauben, dass der Datenbanknutzer “oc_pi” anderen Datenbanknutzern selbstständig und ohne Dein Zutun Zugriffsrechte auf die Nextclouddatenbank gewähren darf?
Dasselbe gilt übrigens auch für den Benutzer “www-data”!
GRANT ALL ON nextcloud.* TO 'oc_pi'@'localhost' IDENTIFIED BY '<Passwort-Nextcloud-Datenbank>';
vergibt genügend Privilegien (Rechte), um den Zugriff von “oc_pi” auf die Datenbanktabellen der Datenbank “nextcloud” ausreichend zu gewähren.
Desweiteren: der Apache-Nutzer (www-data) hat nichts auf direktem Wege in Datenbanken verloren!
Am besten Du fängst in Bezug auf die Zugriffsrechte auf die Nextcloud-Datenbank nochmal sauber von vorne an:
- Prüfe im ersten Schritt, welche Nutzer welche Rechte an welchen Datenbanken haben:
mariadb> SELECT User,Host FROM mysql.user;
- Offensichtlich hattest Du die Benutzer “oc_pi” und “www-data” bereits im Vorfeld angelegt gehabt und ihnen Vollzugriff auf alle Datenbanken gewährt. Entziehe diese vorerst wieder und entferne den Benutzer “www-data” aus der Datenbank:
mariadb> use mysql;
mariadb> DROP USER IF EXISTS www-data;
mariadb> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'nextcloud'@'localhost';
- Vergebe sicherheitshalber ein neues individuelles Passwort nur für den Benutzer “oc_pi”:
mariadb> ALTER USER 'oc_pi'@'localhost' IDENTIFIED BY '<individuelles-datenbanpasswort>';
- Vergebe nun die notwendingen Rechte an der Datenbank “nextcloud” an den Benutzer “oc_pi”:
mariadb> GRANT ALL ON nextcloud.* TO 'oc_pi'@'localhost' IDENTIFIED BY '<individuelles-datenbanpasswort>';
- Verlasse die Datenbankkonsole mit den Befehlen:
mariadb> flush privileges;
mariadb> quit
- Passe nun die config Deiner Nextcloudinstallation entsprechend an (ich vermute, Du verwendest das standartmässig installierte “nano” zum editieren von Dateien über die CLI):
root@pi4b: nano /media/4tb/www/nextcloud/config/config.php
- Passe den Abschnitt für den Datenbankzugriff korrekt an:
------------- 8< -------------
‘dbtype’ => ‘mysql’,
‘dbhost’ => ‘localhost’,
‘dbname’ => ‘nextcloud’,
‘dbtableprefix’ => ‘oc_’,
‘dbuser’ => ‘oc_pi’,
‘dbpassword’ => ‘individuelles-datenbanpasswort’,
------------- >8 -------------
Das ganze hilft vermutlich noch nicht, Dein cURL-Problem zu lösen, aber mit den hier beschriebenen Schritten hast Du nun die Zugriffsrechte für Deine Nextcloud-Datenbank in Ordnung gebracht und kannst zumindest ein Datenbankzugriffsproblem als Quelle ausschliessen.