MQTT und SQL Server auf gleicher Ubuntu Server VM?

Ich betreibe einen MQTT Server (Mosquitto Broker) innerhalb einer Ubuntu Server Distribution innerhalb einer VM und würde gern einen Microsoft SQL Server in der gleichen VM laufen lassen um die Daten, die an den MQTT-Broker geschickt zu werden speichern zu können.

  1. Frage: Ich kann beide Server installieren und diese laufen auch parallel, aber wie stelle ich von außen bei Anfragen sicher, den richtigen Server zu erwischen? Weil die Server IP ist bei beiden gleich, wird das nur über den Port geregelt ? (MQTT: 1883 und MS-SQL Server: 1433 ?)
  2. Ich habe ein Pyhton Skript, welche alle MQTT Topics abonniert und die Daten in die Datenbank schreibt. Wie sorge ich dafür, dass dieses in Dauerschleife für immer ausgeführt wird und parallel zu den beiden Servern vom Betriebssystem ausgeführt wird? (Habe bereits Python Entwicklungsumgebung installiert, und kann Skripte einfach so ausführen), Klar kann ich da ne Dauerschleife reinprogrammieren, aber wie bediene ich dann parallel den Rest? Somit kommen wir zu Frage 3:
  3. Wie kann ich mir MQTT Server Konsole, SQL-Server Konsole und Ausgaben des Python Skript gleichzeitig anzeigen lassen? (Ubuntu Server nur in Terminalversion, keine grafische Benutzeroberfläche)

Bin offensichtlich nicht so vertraut mit Linux und habe das Gefühl mir würden nur ein paar Grundlagen fehlen..
Hoffe ihr könnt mir helfen, danke!

Server, Computer, Linux, SQL, Ubuntu, Datenbank, Python
Verbindung zur Datenbank checken - PHP?

Hi, ich hab folgende Funktion in einer Klasse dbConenction:

private mixed $connection;

public function __construct()
{
    return $this->connect();
}

private function connect()
{
    try {
        $host = "localhost";
        $username = "USER_NAME";
        $pwd = "PWD";
        $database = "DB_NAME";
        $this->connection = new mysqli($host, $username, $pwd, $database);

        if ($this->connection->connect_error) {
            throw new Exception("Connection to database failed. | " . $this->connection->connect_error);
        }
        return $this->connection;
    } catch (Exception $exception) {
        $this->connection = null;
        databaseErrorHandling($exception);
        return null;
    }
}

Die Verbindung zur Datenbank funktioniert auch, ich kann Queries ausführen. Doch mein Problem, wenn ich zum Beispiel den Username für die Datenbank ändere, soll eigentlich durch

if ($this->connection->connect_error)

eine Exception geworfen werden, weil die Verbindung ja nicht aufgebaut werden kann, da der Username falsch ist. Das Gleiche funktioniert auch nicht, wenn ich zum Beispiel das Passwort ändere. Hab in den Docs von PHP nachgelesen und dort haben die das genauso gemacht...

$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

Jemand eine Idee, warum das nicht funktioniert, so wie es funktionieren sollte :D, oder Verbesserungsvorschläge?

Danke für jede Hilfe!!!

Computer, SQL, HTML, Webseite, programmieren, Datenbank, MySQL, PHP

Meistgelesene Beiträge zum Thema SQL