主mysql:
更改主mysql配置文件:vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
log_bin=dbsvr1-bin \\啓用日誌,指定日誌前綴
server_id=1 \\指定服務器id
innodb_flush_log_at_trx_commit=1 \\事務提交或事物外的指令需要把日誌寫入硬盤
sync-binlog=1 \\允許日誌同步
保存重啓服務
mysql>grant replication slave on *.* to 'web'@'192.168.1.11' identified by '123456';
mysql> show master status \G
*************************** 1. row ***************************
File: dbsvr1-bin.000001 \\當前的日誌文件名
Position: 750 \\偏移的位置
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.00 sec
從mysql:
更改從mysql配置文件:vim /etc/my.cnf
[mysqld]
log_bin=dbsvr2-bin \\啓用日誌,指定日誌前綴
server_id=2 \\指定服務器id,不能與主mysql的id相同
innodb_flush_log_at_trx_commit=1 \\事務提交或事務外的指令需要把日誌寫入硬盤
sync-binlog=1 \\允許日誌同步
log_slave_updates=1 \\記錄從庫的更新便於實現主從從鏈式複製
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
read_only=1 \\從數據庫啓用只讀
保存配置文件重啓服務
通過change master to 指定服務器的ip 用戶名 密碼 log日誌和偏移量。
mysql> change master to master_host='192.168.1.10', master_user='web', master_password='123456', master_log_file='dbsvr1-bin.000001', master_log_pos=750;
mysql> start slave;
啓用slave複製,當需要修改master信息時,應先執行stop slave停止,在修改,修改完成後,啓動複製start slave。
檢查slave服務器的同步狀態
mysql>show slave status \G
Slave_IO_Running: Yes \\io線程應該已運行
Slave_SQL_Running \\sql線程應該已運行