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

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌Original
2023-06-01 15:21:501691Durchsuche

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();
}

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

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
            }
}

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!

Stellungnahme:
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