CodeKitz
Log in
MySQL Master-Master Replication on Centos 6
CentOS 6
Edit
Description
เครื่องแรก --------------------- 1. **[เครื่องแรก]** ตั้งค่า `nano /etc/my.cnf` ``` bind-address=0.0.0.0 server-id=1 log-bin=mysql-bin binlog-ignore-db=information_schema binlog-ignore-db=mysql binlog-format = mixed replicate-ignore-db=information_schema replicate-ignore-db=mysql datadir=/var/lib/mysql innodb_flush_log_at_trx_commit=1 sync_binlog=1 log-slave-updates relay-log=mysqld-relay-bin ``` 2. **[เครื่องแรก]** สั่ง Restart MySQL ``` service mysqld restart ``` 3. **[เครื่องแรก]** Login เข้า MySQL `mysql` ``` create user '{{ username }}'@'%' identified by '{{ password }}'; grant replication slave on *.* to '{{ username }}'@'%'; flush privileges; show master status; ``` จากนั้นจด MASTER_LOG_FILE และ MASTER_LOG_POS 4. **[เครื่องสอง]** แก้ไฟล์ `nano /etc/my.cnf` ``` bind-address=0.0.0.0 server-id=2 log-bin=mysql-bin binlog-ignore-db=information_schema binlog-ignore-db=mysql binlog-format = mixed replicate-ignore-db=information_schema replicate-ignore-db=mysql datadir=/var/lib/mysql innodb_flush_log_at_trx_commit=1 sync_binlog=1 log-slave-updates relay-log=mysqld-relay-bin ``` 5. **[เครื่องสอง]** ``` create user '{{ username }}'@'%' identified by '{{ password }}'; grant replication slave on *.* to '{{ username }}'@'%'; flush privileges; show master status; ``` 6. **[เครื่องสอง]** นำค่า MASTER_LOG_FILE และ MASTER_LOG_POS จากเครื่องแรกมาใส่ ``` slave stop; CHANGE MASTER TO MASTER_HOST = '{{ ip1 }}', MASTER_USER = '{{ username }}', MASTER_PASSWORD = '{{ password }}', MASTER_LOG_FILE = 'mysql-bin.00000x', MASTER_LOG_POS = 123; slave start; ``` 7. **[เครื่องแรก]** นำค่า MASTER_LOG_FILE และ MASTER_LOG_POS จากเครื่องสองมาใส่ ``` stop slave; CHANGE MASTER TO MASTER_HOST = '{{ ip2 }}', MASTER_USER = '{{ username }}', MASTER_PASSWORD = '{{ password }}', MASTER_LOG_FILE = 'mysql-bin.00000x', MASTER_LOG_POS = 123; start slave; ``` อื่นๆ -------------- วิธีเช็คสถานะ ``` SHOW SLAVE STATUS \G; ``` วิธีรีซิงค์ใหม่ทันที ข้าม 1 statement ``` STOP SLAVE; SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE; ```
Option
MySQL Master-Master Replication on Centos 6