یک replication ساده master-slave بین دو سرور MySQL راهاندازی کنید بهطوریکه جدول sample_db.users از سرور master روی slave همگام شود و وضعیت replication را بررسی کنید.
1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:33برای حل: در my.cnf هر سرور یک server-id یکتا و در master فعالسازی log_bin را انجام دهید و سرویس را ریاستارت کنید. روی master یک کاربر replication بسازید (مثلاً CREATE USER 'repl'@'slave_ip' IDENTIFIED BY 'pass'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'slave_ip';)، سپس با FLUSH TABLES WITH READ LOCK و اجرای SHOW MASTER STATUS موقعیت binlog (file و position) را ثبت کنید. از mysqldump --master-data=2 برای خروجی گرفتن از دیتابیس sample_db استفاده و فایل را به slave منتقل و import کنید، سپس در slave با دستور CHANGE MASTER TO تنظیمات MASTER_HOST/MASTER_USER/MASTER_PASSWORD و MASTER_LOG_FILE/MASTER_LOG_POS را قرار دهید و با START SLAVE replication را آغاز کنید. وضعیت را با SHOW SLAVE STATUS\G بررسی کنید (فیلدهای Slave_IO_Running و Slave_SQL_Running و Seconds_Behind_Master). نکات: server-id یکتا، فایروال باز بودن پورتهای لازم، همگامسازی اولیه دادهها قبل از شروع replication و استفاده از mysqldump یا rsync برای snapshot امن توصیه میشود.
برای راهاندازی ساده Master–Slave، هر دو سرور باید server-id یکتا و binary logging فعال باشند و پس از تنظیم، سرویس MySQL را ریستارت کنید. از mysqldump --master-data=2 برای خروجیگیری از sample_db استفاده کنید تا موقعیت binlog در خروجی ثبت شود و فایل را به slave منتقل و ایمپورت کنید. سپس در slave با CHANGE MASTER TO مقادیر MASTER_HOST/MASTER_USER/MASTER_PASSWORD و MASTER_LOG_FILE/MASTER_LOG_POS را تنظیم و با START SLAVE عملیات همگامسازی را آغاز کنید. وضعیت را با SHOW SLAVE STATUS\G بررسی کنید و به Slave_IO_Running، Slave_SQL_Running و Seconds_Behind_Master توجه کنید؛ اگر مشکلی وجود داشت، مطمئن شوید فایروال پورت 3306 باز است و همگامسازی اولیه درست انجام شده است.
گزارش