1. 程式人生 > >Windows下mysql5.5主從複製

Windows下mysql5.5主從複製

Windows下mysql5.5主從複製


寫這篇博文,參考了許多他人的博文,再加上自己的實踐
參考的文章:
連結:
windows 7下mysql5.5.18主從同步設定
.
連結: Windows下mysql5.5主從同步.

一、Windows下mysql5.5主從複製

前置條件:

A主機(作為主伺服器)

環境:Win7,mysql5.5 IP:10.10.5.180

B主機(作為從伺服器)

環境:Win7,mysql5.5 IP:192.168.216.129

1.1 主伺服器配置

1.1.1 在mysql下找到my.ini檔案,在其[mysqld] 下新增主伺服器端配置:

[mysqld]

#伺服器id
server-id=10
#二進位制檔案存放路徑
log-
bin=C:\Program Files\MySQL\MySQL Server 5.5\mysql-bin #帶同步的資料庫 binlog-do-db=test1 #忽略不同步的資料庫,這個可以不用寫 binlog-ignore-db=jzsoft

1.1.2 儲存my.ini檔案,重啟資料庫,然後會在C:\Program Files\MySQL\MySQL Server 5.5 下看到mysql-bin.index 檔案和mysql-bin.000001檔案;

1.1.3 通過cmd進入mysql

輸入使用者名稱和密碼:mysql -u使用者名稱 -p密碼 ( mysql -uroot -proot )

1.1.4 給要連線的從伺服器設定許可權:

grant replication slave,reload,super on *.* to slave@192.168.216.129 identified by '123456';  

ps: 給主機192.168.216.129新增許可權,使用者名稱:slave,密碼:123456;(只需輸入一次就可以了)

1.1.5 輸入命令 show master status;

 show master status;

在這裡插入圖片描述

找到File 和 Position 的值記錄下來;

1.2 配置從伺服器

1.2.1 在mysql下找到my.ini檔案,在其[mysqld] 下新增從伺服器端配置:

server-id=11
log-bin=C:\Program Files\MySQL\MySQL Server 5.5\mysql-bin
relay-log=relay-bin
relay-log-index=relay-bin-index
replicate-do-db=test1

1.2.2 儲存my.ini檔案,重啟從資料庫

1.2.3:從伺服器上測試

mysql -h 10.10.5.180 -uslave -p123456

檢視能否連線主資料庫成功,如果成功,則一定要退出來,之前我就是一直犯了一個錯誤,按照網上的步驟測試完畢之後就沒有退出mysql,結果執行以下步驟時老是報錯,其原因是一直設定的是主資料庫;

1.2.4:修改對主資料庫的連線的引數

mysql> change master to master_host='10.10.5.180',master_user='slave',master_pas
sword='123456', master_log_file='mysql-bin.000001',master_log_pos=107;

可能會報一個錯誤,大概的意思是說slave執行緒正在執行,不能設定,這樣的話,執行

stop slave; 

停止slave執行緒,然後再設定連線的引數;

1.2.5 設定完之後,執行 mysql> start slave; 開啟slave執行緒;執行mysql> show slave status\G; 檢視

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
在這裡插入圖片描述
設定成功,開始測試一下吧。