首頁  >  文章  >  後端開發  >  php如何實作mysql讀寫分離

php如何實作mysql讀寫分離

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌原創
2023-06-01 15:21:501660瀏覽

php實作mysql讀寫分離的方法:1.安裝MySQL主從複製,將MySQL資料庫實例設定為主從複製架構並啟用二進位日誌記錄;2、建立PHP程式碼連接MySQL,建立兩個不同的連接串,使用PHP的「PDO」擴充和「mysqlnd_ms」擴充來實作;3、在php.ini檔案中設定「mysqlnd_ms」擴充即可。

php如何實作mysql讀寫分離

本教學作業系統:Windows10系統、php8.1.3版本、Dell G3電腦。

php實作mysql讀寫分離的方法:

#1、安裝MySQL主從複製

首先,需要將MySQL資料庫執行個體設定為主從複製架構。這包括在主伺服器上建立一個主資料庫,並在所有從屬伺服器上建立從屬資料庫。此外,在主伺服器上還需要啟用二進位日誌記錄;

2、建立PHP程式碼連接MySQL,並建立兩個不同的連接串,使用PHP的「PDO」擴充和「mysqlnd_ms」擴充來實作;

下面是一個範例PDO連接到MySQL伺服器的程式碼:

$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、最後設定「mysqlnd_ms」擴充功能即可。

要讓mysqlnd_ms在PHP中運作,需要在php.ini檔案中設定它。以下是一個範例設定:

extension=mysqlnd_ms.so
mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/etc/mysqlnd_ms_plugin.ini

其中,/etc/mysqlnd_ms_plugin.ini是一個包含有關MySQL主從實例的詳細資訊的設定檔。下面是一個範例設定檔:

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

以上是php如何實作mysql讀寫分離的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn