Cara melaksanakan pemisahan baca-tulis mysql dalam PHP: 1. Pasang replikasi master-slave MySQL, tetapkan contoh pangkalan data MySQL kepada seni bina replikasi induk-hamba dan dayakan pengelogan binari 2. Cipta kod PHP untuk menyambung ke MySQL dan mencipta dua rentetan sambungan yang berbeza dilaksanakan menggunakan sambungan "PDO" PHP dan sambungan "mysqlnd_ms" 3. Konfigurasikan sambungan "mysqlnd_ms" dalam fail php.ini;
Sistem pengendalian untuk tutorial ini: Sistem Windows 10, versi php8.1.3, komputer Dell G3.
Cara melaksanakan pemisahan baca-tulis mysql dalam PHP:
1 Pasang replikasi master-slave MySQL
Pertama , anda perlu Contoh pangkalan data MySQL disediakan dalam seni bina replikasi tuan-hamba. Ini melibatkan mencipta pangkalan data induk pada pelayan induk dan pangkalan data hamba pada semua pelayan hamba. Selain itu, pengelogan binari perlu didayakan pada pelayan utama
2 Cipta kod PHP untuk menyambung ke MySQL, buat dua rentetan sambungan yang berbeza, dan gunakan sambungan "PDO" PHP dan sambungan "mysqlnd_ms" untuk mencapai. ini;
Berikut ialah contoh kod PDO untuk menyambung ke pelayan 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. Akhir sekali konfigurasikan sambungan "mysqlnd_ms".
Untuk mysqlnd_ms berfungsi dalam PHP, anda perlu mengkonfigurasinya dalam fail php.ini. Berikut ialah contoh konfigurasi:
extension=mysqlnd_ms.so mysqlnd_ms.enable=1 mysqlnd_ms.config_file=/etc/mysqlnd_ms_plugin.ini
di mana /etc/mysqlnd_ms_plugin.ini ialah fail konfigurasi yang mengandungi maklumat terperinci tentang contoh master-slave MySQL. Berikut ialah contoh fail konfigurasi:
{ "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 } }
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pemisahan baca dan tulis mysql dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!