Azure: Wo ist der Standardbenutzer/-pass für die WordPress-Datenbank mit MySQL-In-App (Vorschau)?
Lesezeit: 4 Minuten
LatentDenis
Ich habe gerade einen von Azure gehosteten WordPress App Service gestartet und mich für die MySQL-In-App-Option (Vorschau) für die Datenbank entschieden. Für diejenigen, die sich dessen nicht bewusst sind, erlaubt mir dies, den MySQL-Server Seite an Seite mit meiner Webanwendung in derselben Umgebung auszuführen.
Ich habe jedoch ein Problem mit der Art und Weise, wie ich MySQL-Abfragen mache.
Ich möchte Code aus einem anderen PHP-Projekt wiederverwenden, in dem die MySQL-Aufrufe in Form von PDO-Anweisungen vorliegen, wie folgt:
Ich kann diese Anrufe nur tätigen, wenn ich einen Benutzernamen und ein Passwort dafür habe.
Das PHPMyAdmin-Seitenpanel sieht in der MySQL-In-App (Vorschau) so aus:
Und wenn ich die Benutzerkonten hochziehe, sehe ich Folgendes:
Ich bin verloren, wenn es darum geht, welchen Benutzer und Pass ich verwenden soll und ob ich überhaupt verwenden sollte localdb als meine db (dort sind alle WordPress-Tabellen aufgelistet).
Alles in allem versuche ich nur, mithilfe von PDO-Anweisungen Informationen aus der Datenbank abzurufen, und muss wissen, wie das geht.
Ich gehe davon aus, dass Azure ein Control Panel anbietet, um Ihre Dienste aufzulisten. Wenn ja, sollte es den Host/IP der Datenbank anzeigen – andernfalls sollten diese Informationen in phpMyAdmin sichtbar sein. Erstellen Sie für die Anmeldeinformationen ein neues Konto in phpMyAdmin.
– Halber
11. Januar 2017 um 22:33 Uhr
Hilft diese Antwort?
– Halber
11. Januar 2017 um 22:36 Uhr
Aaron Chen
Die Verbindungszeichenfolge ist in zu sehen D:\home\data\mysql\MYSQLCONNSTR_localdb.txt. Sie können diese Datei über die Kudu-Debug-Konsole finden, auf die über zugegriffen werden kann https://<yourwebsitename>.scm.azurewebsites.net/DebugConsole.
Eine VM kann mehrere WebApps hosten; daher mehrere In-App-MySQL-Prozesse. Wenn wir den MySQL-Prozess starten, versuchen wir, denselben Port wie zuvor zu verwenden. Es kann jedoch von anderen Diensten oder anderen In-App-MySQL übernommen werden. Dadurch kann sich der Port ändern. Darüber hinaus kann die Web-App von einer VM auf eine andere verschoben werden, und die verfügbaren Ports sind unterschiedlich.
Um die stabile Client-App zu schreiben, stellen Sie sicher, dass Sie die Verbindungsinformationen aus der env-Variablen lesen. Sehen Dies für mehr Details.
Wir sollten also die Verbindungszeichenfolge aus der env-Variablen in PHP wie folgt abrufen:
Nagel auf den Punkt und noch mehr! Perfekte Lösung, tolles Codebeispiel. Vielen Dank!
– LatentDenis
12. Januar 2017 um 13:48 Uhr
Abdullah Tahan
Gehen Sie zu Konfiguration und fügen Sie dann eine Verbindung hinzu
Name = defaultConnection Wert = Database=your_database;Data Source=your_website.mysql.database.azure.com;User Id=your_username;Password=your_password
dann hat für mich suresh42326 geantwortet funktioniert
Für mich hat der Besuch von .azurewebsites.net mein Problem gelöst. Danach habe ich .scm.azurewebsites.net/phpmyadmin durchsucht, es wurde nicht nach dem Passwort gefragt.
/*Add at the begining of the file
if you want to connect to custom database then fill this variable $connectstr_dbname="MY_CUSTOM_DB"; and comment or remove $connectstr_dbname = preg_replace("/^.*Database=(.+?);.*$/", "\\1", $value); from below code...
*/
$connectstr_dbhost="";
$connectstr_dbname="";
$connectstr_dbusername="";
$connectstr_dbpassword = '';
foreach ($_SERVER as $key => $value) {
if (strpos($key, "MYSQLCONNSTR_localdb") !== 0) {
continue;
}
$connectstr_dbhost = preg_replace("/^.*Data Source=(.+?);.*$/", "\\1", $value);
$connectstr_dbname = preg_replace("/^.*Database=(.+?);.*$/", "\\1", $value);
$connectstr_dbusername = preg_replace("/^.*User Id=(.+?);.*$/", "\\1", $value);
$connectstr_dbpassword = preg_replace("/^.*Password=(.+?)$/", "\\1", $value);
}
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', $connectstr_dbname);
/** MySQL database username */
define('DB_USER', $connectstr_dbusername);
/** MySQL database password */
define('DB_PASSWORD', $connectstr_dbpassword);
/** MySQL hostname : this contains the port number in this format host:port . Port is not 3306 when using this feature*/
define('DB_HOST', $connectstr_dbhost);
Warum haben Sie die Antwort oben einfach kopiert und eingefügt?
– Ihr gesunder Menschenverstand
26. Dezember 2017 um 12:53 Uhr
Lesen Sie die Top-Kommentare. Es erklärt, wie Sie eine benutzerdefinierte Datenbank verbinden können. Ich stand vor diesem Problem und löste es dann. Also dachte ich, es wird eine volle Hilfe für andere sein.
– Dänischer Jamshed
27. Dezember 2017 um 14:11 Uhr
13887100cookie-checkAzure: Wo ist der Standardbenutzer/-pass für die WordPress-Datenbank mit MySQL-In-App (Vorschau)?yes
Ich gehe davon aus, dass Azure ein Control Panel anbietet, um Ihre Dienste aufzulisten. Wenn ja, sollte es den Host/IP der Datenbank anzeigen – andernfalls sollten diese Informationen in phpMyAdmin sichtbar sein. Erstellen Sie für die Anmeldeinformationen ein neues Konto in phpMyAdmin.
– Halber
11. Januar 2017 um 22:33 Uhr
Hilft diese Antwort?
– Halber
11. Januar 2017 um 22:36 Uhr