1. 程式人生 > 其它 >在windows環境下學習mysql主從配置

在windows環境下學習mysql主從配置

技術標籤:mysql同步大資料負載均衡

資料庫的主從配置即資料的讀寫分離,主要用於縮短大資料的併發處理時間,從而提高資料執行效率,當然也會導致資料庫之間的資料複製出現時間差,使得更新的資料無法及時被讀取到,如果通過讀寫分離併發資料還是高的話,可以考慮庫表再次縱向切割分離到多個主資料庫表中,也可以橫向切割分離資料記錄到多表中,實現多伺服器分擔資料流量,保證服務持續執行。
一、環境介紹及說明
1、所需軟體:win7,VMware,win2003Ser(也可win7),mysql-5.5.40-win32.msi
2、一臺PC機學習規劃:
 (1)win7上安裝mysql-5.5.40-win32,配置成主庫

   IP地址:192.168.1.11 埠3306
 (2)在win7下安裝VMware虛擬出一臺PC然後安裝windows2003Ser
   然後在win2003Ser上安裝mysql-5.5.40-win32,配置成從庫
   IP地址:192.168.1.111 埠3306
 (3)安裝MySQL注意字元一般選擇預設的UTF8編碼,允許遠端登入
3、修改win7主庫MySQL安裝目錄下的my.ini檔案,相關數值如下:

[client]
port=3306
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
port=3306
character-set-server=utf8
default-storage-engine=INNODB
server_id = 1 # 主庫和從庫需要不一致,分別配一個唯一的ID編號
log_bin=master-bin
log_bin-index=master-bin.index  # 二進位制檔案存放路徑,存放在根目錄data資料夾下
# binlog-do-db=test   # 需要複製的庫,多個庫用逗號隔開,如果此項不配置所有主庫都參與複製,這裡要是配置了,同時也要在Slave(也就是你的從庫) 上設定。
# binlog-ignore-db=mysql    # 不需要複製的庫,和上項同理

若要規定同步的資料庫,去除#跟上相應庫名,以下從庫沒有最後兩項配置
4、修改win2003Ser從庫MySQL安裝目錄下的my.ini檔案,同上僅修改server_id即可

server_id = 2   # 主庫和從庫需要不一致(唯一的ID編號)

參考網路部分教程修改從庫的log_bin和log_bin-index為以下,沒有測試成功

relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin

5、主從庫都分別重啟一下MySQL,在系統控制面板的管理工具的服務中能找到
6、關聯主庫(192.168.1.11)與從庫(192.168.1.111)

7、在主庫的win7的CMD登陸本機的MySQL後,執行命令 show master status 檢視主庫的狀態,並記錄下檢視到的資訊,具體記錄以下資訊:
File和Pos位置
8、在win2003Ser從庫上也執行命令 show slave status 檢視slave的狀態
在這裡插入圖片描述
我們可以發現 ,master的狀態下,生成了一個二進位制的日誌檔案,而slave下是空的,所以我們現在就要把主庫與從庫關聯起來。
9、在主庫中建立一個使用者(專門用給從庫連線的,命令務必在主庫中完成):

create user test;
grant replication slave on *.* to 'test'@'192.168.1.111'identified by 'mysql';
flush privileges;   # 重新整理許可權 

在這裡插入圖片描述
10、現在我們切到win2003Ser從庫(slave),把主庫與從庫聯絡起來。
執行以下命令:

change master to master_host='192.168.1.11',master_port=3306,master_user='test',master_password='mysql',master_log_file='master-bin.000002',master_log_pos=107;

注意:上面的master-bin.000002和107要和show master status中 查詢到的一致
然後執行命令 start slave 開啟主從同步,如下圖所示:
在這裡插入圖片描述
11、經過上面的步驟已經完成了,最後來測試下主從資料庫同步情況,測試前可分別重啟主從伺服器,再使用命令在win7的主庫上建立一個數據庫web,然後再到win2003Ser從庫上檢視,如果無誤在從庫上也會自動同步過來一個數據庫web,當然如果不想使用命令建表,也可以使用mysql的視覺化管理軟體Navicat(MySQL視覺化管理軟體,可網路搜尋)在win7主庫中來建庫表或錄入資料記錄,然後到從庫中檢視同步情況。
在Navicat中測試的情況