In PHP wird die Funktion mySQLI_Driver :: Embedded_Server_Start verwendet, um einen eingebetteten MySQL -Server zu starten. Mit dieser Methode können wir MySQL -Dienste im selben Prozess ausführen, damit wir keine mySQL -Serverinstanz separat starten müssen. Es ist hauptsächlich für Szenarien geeignet, in denen Datenbanken erforderlich sind, z. B. leichte Anwendungen oder Testumgebungen.
In diesem Artikel wird die Operationen eingeführt, die ein eingebetteter MySQL -Server mit MySQLI_Driver :: Embedded_Server_Start sowie deren anwendbaren Szenarien und Einschränkungen ausführen kann.
Der eingebettete MySQL -Server ist ein eingebetteter Modus von MySQL, mit dem Entwickler Datenbankdienste direkt in Anwendungen einbetten können, wodurch die Schritte zum Starten und Verwalten von Datenbankdiensten separat beseitigt werden. Sein Kern ist die eingebettete Bibliothek von MySQL (libmysqld), die durch die MySQLi_Driver -Klasse von PHP aufgerufen werden kann.
<?php
$driver = new mysqli_driver();
// Eingebettete Serverparameter
$args = [
"basedir=/usr/local/mysql",
"datadir=/usr/local/mysql/data",
"port=3307",
"skip_networking=0",
];
// Starten Sie eingebettet MySQL Server
$driver->embedded_server_start($args);
// 连接到嵌入式Server
$mysqli = new mysqli("localhost", "", "", "", 3307);
if ($mysqli->connect_error) {
die("Verbindung ist fehlgeschlagen: " . $mysqli->connect_error);
}
echo "Erfolgreich mit Embedded verbunden MySQL Server!";
$mysqli->close();
$driver->embedded_server_shutdown();
?>
Im obigen Beispiel haben wir eine MySQL-Serverinstanz über $ triver-> embedded_server_start () gestartet und über die Standard- MySQLI- Verbindungsmethode auf sie zugegriffen.
Nachdem der eingebettete Server gestartet wurde, kann er im Grunde genommen alle Datenbankvorgänge ausführen, die vom Standard -MySQL -Server unterstützt werden, einschließlich:
Erstellung, Änderung und Löschen von Datenbanken und Tabellen
Datenabschluss, Löschung, Änderung und Abfrage (CRUD)
SQL -Abfrageausführung, einschließlich komplexer Verbindungen, Transaktionen usw.
Unterstützung für gespeicherte Verfahren und Auslöser
Multithread -Abfrageverarbeitung
Benutzerberechtigungsverwaltung (konfigurierbar)
Mit anderen Worten, es bietet eine vollständige Umgebung von MySQL Server, in der Anwendungen eine Verbindung zu einem eingebetteten Server herstellen können, als würden sie einen Remote MySQL -Server tun.
Eigenständige Anwendung <br> Geeignet für Desktop- oder eigenständige Anwendungen, die Datenbankfunktionalität erfordern, aber nicht zusätzliche MySQL-Dienste bereitstellen möchten.
Testumgebung <br> Starten Sie schnell eine saubere Datenbankumgebung in automatisierten Tests und vermeiden Sie es, sich auf externe Server zu verlassen.
Leichter oder temporärer Service <br> Geeignet zum Einbetten in kleine Dienste oder Prototypentwicklung.
Leistungsbeschränkungen <br> Eingebettete Server richten sich hauptsächlich auf leichte Anwendungen und eignen sich nicht für Produktionsumgebungen mit hoher Konsequenz.
Komplexe Konfiguration <br> Basiertes und Datadir müssen korrekt festgelegt werden, andernfalls startet es möglicherweise nicht.
Netzwerkbeschränkungen <br> Die Netzwerkfunktion ist standardmäßig deaktiviert, und der Netzwerkzugriff muss über Parameter aktiviert werden.
Kompatibilitätsbeschränkungen <br> Nicht alle MySQL -Versionen und Betriebssysteme unterstützen den den einen den den einen den den Embedded -Modus.
Weitere Informationen finden Sie in der offiziellen MySQL -Dokumentation und den Anweisungen von PHP MySQLI_Driver . Da der hier beteiligte URL -Domänenname durch m66.net ersetzt werden muss, lautet das Beispiel wie folgt:
Verwandte Tags:
MySQL