主(Master)IP:192.168.1.101
從(Slave) IP:192.168.1.102
Master配置
1、首先登錄數據庫,創建複製賬號
mysql -uroot -p
mysql>grant replication slave,reload,super on *.*to mysqler@’192.168.1.102’ identified by ‘123456’;
2、進入配置文件my.cnf中
vim /etc/mysql/mysql.conf.d/mysqld.cnf
在配置文件加入如下值
server-id=1 #用於標識該語句最初是從哪個server寫入的 log-bin=/var/log/mysql/mysql-bin.log #日誌路徑
3、重啓mysql服務器
service mysqld restart 或 /etc/init.d/mysqld restart (用於Ubuntu系統)
4、進入mysql下查看主機狀態
show master status;
Slave配置
1、進入配置文件my.cnf中
vim /etc/mysql/mysql.conf.d/mysqld.cnf
在配置文件中加入如下值
server_id = 2 relay_log =mysql-relay-bin replicate-do-db =genecrab_report //指定的數據庫名 log_bin =/var/log/mysql/mysql-bin.log
2、進入mysql中
mysql>CHANGE MASTER TO
MASTER_HOST=’192.168.1.101’, //Master IP地址
MASTER_USER='mysqler', //數據庫賬號
MASTER_PASSWORD=’123456’, //對應的賬號密碼
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=184677; // MASTER_LOG_POS的值爲0,
注意
MASTER_LOG_FILE一定跟主中File 一致
MASTER_LOG_POS 一定跟主中Position一致
3、查看狀態
show slave status\G
4、開啓同步
start slave
注:
1、主要是看:
Slave_IO_Running=Yes
Slave_SQL_Running=Yes
slave的I/O和SQL線程都已經開始運行,而且Seconds_Behind_Master不再是NULL。日誌的位置增加了,意味着一些事件被獲取並執行了。如果你在master上進行修改,你可以在slave上看到各種日誌文件的位置的變化,同樣,你也可以看到數據庫中數據的變化。
你可查看master和slave上線程的狀態。在master上,你可以看到slave的I/O線程創建的連接:
2、可能還用到的命令
slave stop //停止從數據庫配置
reset slave //復位從數據庫配置