每台從機都必須有一個唯一的Server ID。如果還沒有設置這個ID或者這個ID和主或者別的從有沖突,就需要設置后重啟從機。具體操作,找到mysql配置文件,通常上/etc/my.cnf,打開並找到[mysqld]這部分添加 server-id=your_unique_id。
[mysql]
server-id=4
server-id的默認值上0,這個時候從機拒絕建立到主機的連接。
從機上設置binary logging enable與否不影響建立主從關系,但是如果設置了,就可以使用從機的binary log進行數據備份和從crash恢復,另外這個從機也可以在更復雜的復制拓撲結構中充當別的角色,比如在作為從機的同時又可以當作同組中別的從的主。
為了使從和主通信需要登錄從機執行下面的語句:
mysql> CHANGE MASTER TO -> MASTER_HOST='master_host_name', -> MASTER_USER='replication_user_name', -> MASTER_PASSWORD='replication_password', -> MASTER_LOG_FILE='recorded_log_file_name', -> MASTER_LOG_POS=recorded_log_position;
ps:如果執行完后退出了會話,下次登陸時最好帶上--skip-slave-start參數,直到執行了start slave。
成功之后再執行:
start slave;
這樣這個從到主的復制關系就建立完成,其它的從如法炮制
ps:
從機把主的信息存在主信息倉庫里。主信息庫可以是文件也可以上表,具體由—master-info-repository參數值決定。—master-info-repository=file時 會生成master.info 和 relay-log.info2個文件,如果—master-info-repository=table,信息就會存在mysql.master_slave_info表中。不管是設置的哪種值,都不要移動或者編輯相關的文件和表。想要更改配置通過再次執行change master to …語句,變更會自動保存到相關的文件和表。這個配置對應的表或者文件里的內容會覆蓋某些命令行或者my.cnf中的配置。