Heim > Backend-Entwicklung > PHP-Problem > So implementieren Sie die MySQL-Lese- und Schreibtrennung in PHP

So implementieren Sie die MySQL-Lese- und Schreibtrennung in PHP

尊渡假赌尊渡假赌尊渡假赌
Freigeben: 2023-06-01 16:08:32
Original
1697 Leute haben es durchsucht

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.

So implementieren Sie die MySQL-Lese- und Schreibtrennung in PHP

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();
}
Nach dem Login kopieren

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.ini
Nach dem Login kopieren

Wobei /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
            }
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage