Tobi wrote: ↑Fri 28. Jun 2019, 17:35
Aber du kannst mit Webuser 1 auf die DBS von User 2 zugreifen. Dein Skript musst du halt so anpassen, dass es mehrere Zugangsdaten verwalten kann.
Okay dann wären das schonmal die zwei datenbank-verbindungen:
// MySQL-Connect-Daten
$db1_server = "localhost"; // Server
$db1_user = "user_1"; // Benutzer
$db1_pwd = "password"; // Passwort
$db1_name = "db_1"; // Datenbankname
// Verbindung herstellen, wenn nicht erfolgreich -> scrpt abbrechen
$db1 = @mysql_connect($db1_server, $db1_user, $db1_pwd) or die ("Konnte Verbindung zum MySQL-Server nicht herstellen!");
// Datenbank auswählen, wenn nicht erfolgreich -> Script abbrechen
@mysql_select_db($db1_name) or die ("Konnte Datenbank nicht finden!<br>" . mysql_error());
----------------------------------------------------------------------------------------------------------------------
$db2_server = "localhost"; // Server
$db2_user = "user_2"; // Benutzer
$db2_pwd = "password"; // Passwort
$db2_name = "db_2"; // Datenbankname
// Verbindung herstellen, wenn nicht erfolgreich -> scrpt abbrechen
$db2 = @mysql_connect($db2_server, $db2_user, $db2_pwd) or die ("Konnte Verbindung zum MySQL-Server nicht herstellen!");
// Datenbank auswählen, wenn nicht erfolgreich -> Script abbrechen
@mysql_select_db($db2_name) or die ("Konnte Datenbank nicht finden!<br>" . mysql_error());
$query = mysql_query("SELECT * FROM tabelle", $db1) // zugriff auf DB_1
$query = mysql_query("SELECT * FROM tabelle", $db2) // zugriff auf DB_2
Tobi wrote: ↑Fri 28. Jun 2019, 17:35
Und du kannst keine Joins auf zwei unterschiedliche DBS machen. Immer nur eine pro Anfrage.
wie siehts denn aus mit UNION ALL ?
SELECT * FROM DB_1 UNION ALL SELECT * FROM DB_2 WHERE......
Am liebsten wäre mir natürlich ein universeller Benutzer welcher eben zugriff auf alle Datenbanken erhält (Innerhalb eines Panel Benutzers natürlich)
das muss doch machbar sein ?
EDIT:
habe nun in der SSH console folgenden Befehl ausgeführt:
GRANT ALL PRIVILEGES ON *.* TO 'superuser'@'localhost' WITH GRANT OPTION;
superuser hat nun root rechte und zugriff auf alle datenbanken,
kann ich das eingrenzen? auf nur die datenbanken des zugehörigem benutzerkonto welches in KeyHelp für den benutzer angelegt wurde?
EDIT:
Thrend kann geschlossen werden ! Lösungsansatz anhand eines Beispiels:
in KeyHelp legt der Admin User einen neuen Kunden an, der Kunde legt sich 3 Datenbanken (db_1, db_2, db_3) an
jede Datenbank hat einen individuellen Benutzer, jede Datenbank ist individuell.
1) per SSH als root einloggen
2) mysql -u root -p
3) einen Neuen mysql Benutzer erstellen:
CREATE USER 'master'@'localhost' IDENTIFIED BY 'password';
4) Nun dem neu angelegtem benutzer alle nötigen datenbanken zuweisen:
GRANT ALL ON db_1.* TO 'master'@'%' IDENTIFIED BY 'password';
GRANT ALL ON db_2.* TO 'master'@'%' IDENTIFIED BY 'password';
GRANT ALL ON db_3.* TO 'master'@'%' IDENTIFIED BY 'password';
5) zum schluss noch:
FLUSH PRIVILEGES;
Fertig, Benutzer "master" hat nun zugriff auf alle 3 Datenbanken