萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> W‌indows系統mysql服務器主從數據同步備份

W‌indows系統mysql服務器主從數據同步備份

作服務器維護的朋友可能就知道mysql主從備份對於網站來說是多麼的重要,下面我來給大家介紹在windows與windows 7系統中mysql實現數據同步備份方法介紹,大家可進入參考。

windows 2003系統下mysql主從同步備份步驟

A:主服務器
IP地址:192.168.1.124
B:從服務器
IP地址:192.168.1.125
 
前提:設置同步之前請把保持兩個數據庫的數據一樣!
 
對A服務器的配置進行修改,打開mysql/my.ini文件,在[mysqld]下面添加如下內容:

 代碼如下 復制代碼 server-id=1
log-bin=E:mailmysqldata

 
server-id:為主服務器A的ID值
log-bin:二進制變更日值
 
重啟A服務器
 
對B服務器的配置進行修改,打開mysql/my.ini文件,在[mysqld]下面添加如下內容:

 代碼如下 復制代碼

[mysqld]
server-id=2
master-host=192.168.1.124
master-user=root
master-password=d5qj0y4stk
 
master-port=3306 #主服務器端口
master-connect-retry=60 #同步時間間隔為60秒

//以下內容為可選
 
#需要同步的數據庫

 代碼如下 復制代碼 replicate-do-db=mail

 
#不需要同步的數據庫,忽略掉

 代碼如下 復制代碼 binlog-ignore-db=mysql

重啟服務器!!

 代碼如下 復制代碼 show slave statusG;

 
實驗終於成功,經最後測試添加刪除修改數據都可以同步了!


windows 7下mysql主從同步設置


環境:windows 7 ,mysql-5.5.18-win32.msi

主服務器地址:192.168.1.192

從數據庫地址:192.168.1.193

流程:

1:在mysql下找到my.ini文件,在其[mysqld] 下添加主服務器端配置:

 代碼如下 復制代碼

server-id=1    #服務器 id
log-bin=C:Program FilesMySQLMySQL Server 5.5mysql-bin    #二進制文件存放路徑
binlog-do-db=test1    #待同步的數據庫
binlog-ignore-db=information_schema   #忽略不同步的數據庫,這個可以不用寫
binlog-ignore-db=mysql    #忽略不同步的數據庫,這個可以不用寫
binlog-ignore-db=test    #忽略不同步的數據庫,這個可以不用寫

2:保存my.ini文件,重啟數據庫,然後會在C:Program FilesMySQLMySQL Server 5.5 下看到mysql-bin.index 文件和mysql-bin.000001文件;

3:通過cmd進入mysql:

 代碼如下 復制代碼 cd C:Program FilesMySQLMySQL Server 5.5bin

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

4:給要連接的從服務器設置權限:

 代碼如下 復制代碼 grant replication slave,reload,super on *.* [email protected] identified by '123456'; 

    ps: 給主機192.168.1.193添加權限,用戶名:slave,密碼:123456;(只需輸入一次就可以了)

5:輸入命令 show master status;       # 找到File 和 Position 的值記錄下來;

其實,主服務器是不需要設置太多信息的,只需要第1條中的前三行就足夠了。

下面配置從服務器:

1:在mysql下找到my.ini文件,在其[mysqld] 下添加從服務器端配置:

 代碼如下 復制代碼

server-id=2    #服務器 id ,不能和主服務器一致
replicate-do-db=test1    #待同步的數據庫
binlog-ignore-db=information_schema   #忽略不同步的數據庫,這個可以不用寫
binlog-ignore-db=mysql    #忽略不同步的數據庫,這個可以不用寫
binlog-ignore-db=mysql    #忽略不同步的數據庫,這個可以不用寫
binlog-ignore-db=test    #忽略不同步的數據庫,這個可以不用寫

2:保存my.ini文件,重啟從數據庫,在mysql5.1以上版本中是不支持1中master設置的,如果添加了master設置,數據庫就無法重啟了;

3:通過cmd進入mysql:

 代碼如下 復制代碼 cd C:Program FilesMySQLMySQL Server 5.5bin

4:從服務器上測試:mysql -u slave -p 123456 -h 192.168.1.192,查看能否連接主數據庫成功,如果成功,則一定要退出來,之前我就是一直犯了一個錯誤,按照網上的步驟測試完畢之後就沒有退出mysql,結果執行以下步驟時老是報錯,其原因是一直設置的是主數據庫;

5:修改對主數據庫的連接的參數:

 代碼如下 復制代碼

mysql>change master to master_host='192.168.1.193',master_user='slave2',master_password='1234562', master_log_file='mysql-bin.000001',master_log_pos=107;

ps:可能會報一個錯誤,大概的意思是說slave線程正在運行,不能設置,這樣的話,執行mysql>stop slave; 停止slave線程,然後再設置連接的參數;

6:設置完之後,執行 mysql> start slave; 開啟slave線程;執行mysql> show slave statusG   (沒有分號),查看

 代碼如下 復制代碼

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

7:完畢,在這個過程中我的測試結果一直是Slave_IO_Running:No;讓我很是郁悶,一直沒找到原因,錯誤代碼如下,
 
後來找到了,其實原因很簡單,當我測試連接主數據庫之後我沒有退出來,造成接下來的所有步驟都是對主數據庫的操作

copyright © 萬盛學電腦網 all rights reserved