رفتن به محتوای اصلی
iServer24 | ارائه‌کننده سرورهای ابری و اختصاصی
پیکربندی Replication در MySQL و MariaDB: راه‌اندازی Read Replica

پیکربندی Replication در MySQL و MariaDB: راه‌اندازی Read Replica

آموزش راه‌اندازی Replication در MySQL و MariaDB و پیکربندی Read Replica برای توزیع بار خواندن و افزایش دسترس‌پذیری پایگاه داده.

پیکربندی Replication در MySQL و MariaDB: راه‌اندازی Read Replica

وقتی حجم درخواست‌های خواندن (Read) از پایگاه داده افزایش می‌یابد، تکیه بر یک سرور واحد می‌تواند به گلوگاه عملکردی تبدیل شود. Replication با ایجاد یک یا چند نسخه Read Replica از پایگاه داده اصلی، امکان توزیع بار خواندن و افزایش دسترس‌پذیری را فراهم می‌کند.

Replication چگونه کار می‌کند؟

در معماری Master-Slave، تمام عملیات نوشتن (Write) روی سرور اصلی (Master) انجام می‌شود و تغییرات از طریق Binary Log به سرور یا سرورهای فرعی (Replica) منتقل می‌شود. اپلیکیشن می‌تواند درخواست‌های خواندن را به Replicaها هدایت کند تا فشار از روی سرور اصلی برداشته شود.

پیکربندی سرور Master

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید
4 خط
[mysqld]
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = production_db
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید
5 خط
CREATE USER 'replica_user'@'%' IDENTIFIED BY 'PasswordStrong123';
GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'%';
FLUSH PRIVILEGES;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

پیکربندی سرور Replica

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید
3 خط
[mysqld]
server-id = 2
relay_log = /var/log/mysql/mysql-relay-bin.log
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید
8 خط
CHANGE MASTER TO
  MASTER_HOST='master-server-ip',
  MASTER_USER='replica_user',
  MASTER_PASSWORD='PasswordStrong123',
  MASTER_LOG_FILE='mysql-bin.000001',
  MASTER_LOG_POS=  154;
START SLAVE;
SHOW SLAVE STATUS\G
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

بررسی وضعیت Replication

پس از راه‌اندازی، باید مقادیر Slave_IO_Running و Slave_SQL_Running هر دو برابر Yes باشند تا از سلامت فرآیند تکرار اطمینان حاصل شود.

نکات مهم در استفاده عملی

جمع‌بندی

راه‌اندازی Read Replica یکی از راه‌های مؤثر برای افزایش عملکرد و دسترس‌پذیری پایگاه داده در پروژه‌های با ترافیک بالاست و پایه‌ای برای معماری‌های مقیاس‌پذیرتر مانند Redis Cluster یا Sharding محسوب می‌شود.

بهینه‌سازی کوئری روی Replicaها

راه‌اندازی Read Replica به‌تنهایی تضمین‌کننده سرعت بالا نیست؛ کوئری‌هایی که روی Replicaها اجرا می‌شوند نیز باید به‌درستی بهینه شده باشند تا از ظرفیت جدید به بهترین شکل استفاده شود. تکنیک‌های کامل بهینه‌سازی کوئری در مقاله بهینه‌سازی کوئری‌های MySQL آمده است.

زیرساخت ابری برای اجرای همین آموزش

سرور ابری ساعتی را برای Docker، Ubuntu و DevOps راه‌اندازی کنید — پرداخت به میزان مصرف یا ماهانه.

ادامه یادگیری:Docker·Ubuntu·VPS