วันศุกร์ที่ 7 มีนาคม พ.ศ. 2557

MySQL Replication Master-Slave base on CentOS

Standard
     การสร้าง Replication ของ mysql นั้นสามารถทำได้ ง่ายเพียงไม่กี่คำสั่ง ก็สามารถทำ Replication ได้
โดยตัวอย่างจะใช้เครื่อง 2 เครื่อง คือ เครื่อง master และ slave

  1. ขั้นตอนแรก Install Mysql ลงทั้งเครื่อง master และ slave
  2. Install Mysql
  3. เครื่อง master แก้ไข file /etc/my.cnf สำหรับส่วนของ master เพิ่มใน [mysqld]
  4. server-id=1 innodb_flush_log_at_trx_commit=1 sync_binlog=1 log-bin=mysql-log-bin
  5. login mysql
  6. $mysql -u root -p
  7. สร้าง User สำหรับทำ Replication ในเครื่อง master
  8. sql(master) > create user repluser IDENTIFIED BY '123456';
  9. เพิ่มสิทธิ์สำหรับเครื่อง slave ให้สามารถ login เข้าเครื่อง master ได้ (เครื่อง slave IP 192.168.10.139)
  10. sql(master) > GRANT ALL PRIVILEGES ON *.* TO 'repluser'@'192.168.10.139' IDENTIFIED BY '123456' WITH GRANT OPTION;
  11. ดูสถานะของเครื่อง master
  12. sql(master) > show master status;
  13. กำหนด Master Server ให้กับเครื่อง Slave
  14. sql(slave) > CHANGE MASTER TO MASTER_HOST='192.168.10.131',MASTER_USER='repluser',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-log-bin.000001',MASTER_LOG_POS=457; 
    โดยที่ MASTER_HOST ใส่ IP ของเครื่อง master
    MASTER_USER คือ user ที่สร้างในขั้นตอนที่ 4
    MASTER_LOG_FILE คือ ชื่อไฟล์ที่แสดงใน master status ตามขั้นตอนที่ 6
    MASTER_LOG_POS คือ position ที่แสดงใน master status ตามขั้นตอนที่ 6
  15. สั่งให้เครื่อง slave ทำงาน 
  16. START SLAVE;
  17. คำสั่งที่แสดงสถานะของ slave
  18. show slave status \G;
  19. ทดสอบการทำงานของ replication โดยการสร้าง database ชื่อ test_repl (ด้านซ้ายคือเครื่อง master ข้างขวาคือเครื่อง slave)




0 ความคิดเห็น:

แสดงความคิดเห็น