Heim >Backend-Entwicklung >PHP-Problem >So implementieren Sie die MySQL-Lese- und Schreibtrennung in PHP
php-Methode zum Implementieren der MySQL-Lese-/Schreibtrennung: 1. Installieren Sie die MySQL-Master-Slave-Replikation, stellen Sie die MySQL-Datenbankinstanz auf die Master-Slave-Replikationsarchitektur ein und aktivieren Sie die Binärprotokollierung Stellen Sie eine Verbindung zu MySQL her und erstellen Sie zwei verschiedene Verbindungszeichenfolgen, die mithilfe der PHP-Erweiterung „PDO“ und der Erweiterung „mysqlnd_ms“ implementiert werden. 3. Konfigurieren Sie die Erweiterung „mysqlnd_ms“ in der Datei php.ini.
Das Betriebssystem für dieses Tutorial: Windows 10-System, PHP 8.1.3-Version, Dell G3-Computer.
php-Methode zum Erreichen der MySQL-Lese-/Schreibtrennung:
1. Installieren Sie die MySQL-Master-Slave-Replikation #🎜 🎜#
Zuerst müssen Sie die MySQL-Datenbankinstanz auf eine Master-Slave-Replikationsarchitektur einstellen. Dazu gehört die Erstellung einer Master-Datenbank auf dem Master-Server und von Slave-Datenbanken auf allen Slave-Servern. Darüber hinaus muss die binäre Protokollierung auf dem Hauptserver aktiviert sein; 2 Erstellen Sie PHP-Code, um eine Verbindung zu MySQL herzustellen, erstellen Sie zwei verschiedene Verbindungszeichenfolgen und verwenden Sie die PHP-Erweiterung „PDO“ und „mysqlnd_ms“. zur Implementierung; Das Folgende ist ein Beispiel-PDO-Code zum Herstellen einer Verbindung mit dem MySQL-Server:$dsn = 'mysql:host=localhost;dbname=mydatabase'; $username = 'myusername'; $password = 'mypassword'; $options = array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8', ); try { $dbh = new PDO($dsn, $username, $password, $options); } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); }3 Konfigurieren Sie abschließend die Erweiterung „mysqlnd_ms“. Damit mysqlnd_ms in PHP funktioniert, müssen Sie es in der Datei php.ini konfigurieren. Das Folgende ist eine Beispielkonfiguration:
extension=mysqlnd_ms.so mysqlnd_ms.enable=1 mysqlnd_ms.config_file=/etc/mysqlnd_ms_plugin.iniWobei /etc/mysqlnd_ms_plugin.ini eine Konfigurationsdatei ist, die detaillierte Informationen über die MySQL-Master-Slave-Instanz enthält. Hier ist eine Beispielkonfigurationsdatei:
{ "myapp": { "master": { "host": "localhost", "port": "3306", "user": "myuser", "password": "mypassword", "database": "mydatabase" }, "slave": [ { "host": "10.0.0.1", "port": "3306", "user": "readonly", "password": "readonlypw", "database": "mydatabase } }
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die MySQL-Lese- und Schreibtrennung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!