/**** * * *修改每臺MYSQL服務器的配置文件 my.cnf(windows下是my.ini) * 1.首先開啓每臺服務器的Bin日誌(必須的) * 指令:log-bin=mysql-bin * 2.給每個服務器以個Id,多臺服務器的Id不能重複,要求是惟一的 只要不相同就行 * 指令: server-id = 1 *3. 下面指令是隻有在環形結構時候才須要加下面項,主從的時候不須要加 *指令:log-slave-updates = true * 這裏圖列解釋一下,方便同志們理解
4.關於帳號的創建 * 4.1若是主從是(主從)的話那麼要在主服務器建立一個帳號 SLAVE * 4.2若是是(環形)的話,那麼在每臺服務器上都建立一個帳號 SLAVE * 這個帳號就專門用來作複製用的 4.3 建立語法: * 語法:GRANT REPLICATION SLAVE ON *.* TO 'username'@'%' IDENTIFIED BY 'password'; username : 是帳號名 password : 是密碼
* GRANT REPLICATION SLAVE 意思是分配一個複製的權限 給 SLAVE ON *.*的意思是 第一個*可爲哪一個一個數據庫(可根據實際狀況填寫), 第二個*這個數據庫的那張表(可根據實際狀況填寫) 若是直接 ON *.*那表示爲,全部的數據庫的全部表,說白通配符嘛 ,表示我能夠複製全部的數據庫的全部表 TO 意思是 username用戶名(根據實際狀況填寫) %能夠這樣填寫, ;表示限定到具體的 好比只有192.x.x.xxIP地址才能對複製操做 用來限制那臺服務器能進行復制 %就表示全部人能複製 IDENTIFIED BY 'password';密碼s 5.在服務器上的信息(查看主的) (環形都弄) FLUSH TABLES WITH READ LOCK; // 意思是,我在複製的時候進行鎖表, 保證當前只有我本身一個操做,上線項目建議用上 show master status; //查看狀態
--------------------------------------------------------
File Psition binlog_do_Db Bnlog_IGNOre_db
mysq-bin.0000.1 251
--------------------------------------------------------
記錄下期中的File 和 Psition
6. 主從:從服務器上設置主服務器的IP地址等信息 環形:說白了,環形鏈表嘛 一個接着一個,這個不必詳細了嘛,若是還不明白就看我上面的圖
CHANGE MASTER TO
MASTER_HOST='xx.xx.xx.xx' # 主服務器ip /環形的就是你上一個的
MASTER_USER='帳名', # 主服務器上slave帳戶名 / 環形的就是你上一個的
MASTER_PASSWORD='密碼', # 主服務器上slave 密碼/ 環形的就是你上一個的
MASTER_LOG_FILE='mysql-bin.000001', # 主服務器上記錄的file / 環形的就是你上一個的
MASTER_LOG_POS=251; # 主服務器上記錄的Position /環形的就是你上一個的
7. 啓動slave start slave
8.主從同步檢查 /環形同理 mysql> show slave status\G
Slave_IO_Running :yes Slave_SQL_Running:yes 哥們恭喜你成功了
9.自動刪除binlog 設置自動清理MySQL binlog日誌, expire_logs_days = 10