php實作mysql讀寫分離的方法:1.安裝MySQL主從複製,將MySQL資料庫實例設定為主從複製架構並啟用二進位日誌記錄;2、建立PHP程式碼連接MySQL,建立兩個不同的連接串,使用PHP的「PDO」擴充和「mysqlnd_ms」擴充來實作;3、在php.ini檔案中設定「mysqlnd_ms」擴充即可。
本教學作業系統: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中文網其他相關文章!