程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MYSQL-master-slave實踐

MYSQL-master-slave實踐

編輯:MySQL綜合教程

前兩天在一台電腦上安裝了兩個mysql,一個端口是3306,一個是3307。
 
然後配置這兩個mysql數據庫,測試master 和slave 。
 
我的測試環境是windows下,所以需要修改mysql 安裝目錄下的my.ini文件
 
首先,配置master。
 
在3306那個mysql的my.ini文件末尾,添加如下代碼即可。
 
server-id = 1
log-bin=c:mysqllog/panlogs
binlog-do-db=panpan
binlog-ignore-db=
 
server-id = 1 是master的id號。slave的id我們設置為2.
 
log-bin=c:mysqllog/panlogs   是master的日志文件,存放地址和名稱。
 
binlog-do-db=panpan   是說需要同步的數據庫文件。 在這裡 要同步的數據庫名稱為  panpan。如果備份多個數據庫,重復設置這個選項即可。
 
binlog-ignore-db=    是不需要備份的數據庫。
 
再設置slave。同上,打開另外一個mysql的ini文件,在末尾添加:
 
server-id=2               #(配置多個從服務器時依次設置id號)
master-host=127.0.0.1   #主服務器IP地址(因為這裡我是本機測試,所以填寫的是127.0.0.1)
master-user=pan         #主服務器授權的用戶名
master-password=123456     #主服務器授權的密碼
master-port=3306          #主服務器的端口
replicate-do-db=panpan  #需要備份的數據庫名,如果備份多個數據庫,重復設置這個選項即可
 
在這裡,基本已經大功告成。
 
但需要有幾個地方注意
 
1、一般,我們會針對不同的數據庫,添加不用的用戶名,有不同的權限。所以,在配置slave的時候,主服務器(master)的用戶,必須得有相應的權限。通過這個語句設置:grant file,select,replication slave on *.* to ‘pan’@’127.0.0.1′identified by ’123456′;
 
2、查看master和slave狀態。
 
在命令行下,進入myslq,通過show master status; 查看master的狀態。 通過show slave status; 查看slave的狀態。
 
mysql> show master status;
+———————–+———-+————–+——————+
| File                      | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+———————–+———-+————–+——————+
|panlogs .000001 |       98 |  panpan    |                  |
+———————–+———-+————–+——————+
 
show slave status;
若看到:
Slave_IO_Running 和Slave_SQL_Running 兩列的值都為 “Yes”,這表明Slave 的I/O 和SQL 線程都在正常運行.
 
3、在配置成功後,需要重啟 兩個mysql,建議先重啟master,再重啟slave。
 
4、在slave的Data目錄下,會生成master.info文件。建議在重啟前,將這個文件刪除掉。這是保存的master的信息。重啟的時候並不會更新這個。所以需要刪除,重新生成。
 
5、其他問題還沒遇到,如果你遇到了,歡迎留言。。。。

潘少寧的博客

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved