windows上mysql如何進(jìn)行主從數(shù)據(jù)庫(kù)搭建及問題是什么

今天就跟大家聊聊有關(guān)windows上MySQL如何進(jìn)行主從數(shù)據(jù)庫(kù)搭建及問題是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

目前累計(jì)服務(wù)客戶近1000家,積累了豐富的產(chǎn)品開發(fā)及服務(wù)經(jīng)驗(yàn)。以網(wǎng)站設(shè)計(jì)水平和技術(shù)實(shí)力,樹立企業(yè)形象,為客戶提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。創(chuàng)新互聯(lián)公司始終以務(wù)實(shí)、誠(chéng)信為根本,不斷創(chuàng)新和提高建站品質(zhì),通過對(duì)領(lǐng)先技術(shù)的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究、對(duì)客戶形象的視覺傳遞、對(duì)應(yīng)用系統(tǒng)的結(jié)合,為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。

根據(jù)前篇web項(xiàng)目的搭建后,需要搭建主從數(shù)據(jù)庫(kù),這里在windows服務(wù)器上搭建了主從結(jié)構(gòu)的mysql,這里在記錄下在本機(jī)模擬搭建過程
在windows上安裝和linux還是有些不同,不注意就會(huì)耽誤不少時(shí)間
一 下載安裝包和安裝
https://dev.mysql.com/downloads/file/?id=469273 下載的安裝包是Archive
需要手工安裝且建立服務(wù)和初始化data目錄,具體可以在網(wǎng)上搜索有很多具體安裝方法。
二 建立從節(jié)點(diǎn)
1把主服務(wù)器的安裝目錄C:\Program Files\MySQL\MySQL Server 5.7所有文件都copy到另一個(gè)目錄D:\anzhuang\MySQL\mysqlSlave\MySQL Server 5.7。
2修改復(fù)制過來的my.ini文件參數(shù)
包括端口和路徑
port = 3307
basedir = "D:\anzhuang\MySQL\mysqlSlave\MySQL Server 5.7"
datadir = "D:\anzhuang\MySQL\mysqlSlave\MySQL Server 5.7\data"
3建立mysql從服務(wù)器服務(wù)
mysqld install MySQLM --defaults-file="D:\anzhuang\MySQL\mysqlSlave\MySQL Server 5.7\my.ini"
4修改對(duì)應(yīng)注冊(cè)表里服務(wù)啟動(dòng)項(xiàng)的內(nèi)容
注冊(cè)表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MySQL57\ImagePath里使用的路徑改成
"D:\anzhuang\MySQL\mysqlSlave\MySQL Server 5.7\bin\mysqld" --defaults-file=D:\anzhuang\MySQL\mysqlSlave\MySQL Server 5.7\my.ini MySQLS
mysqld_multi.pl --defaults-extra-file=D:\anzhuang\MySQL\mysqlSlave\MySQL Server 5.7\my.ini start 3307
以便啟動(dòng)mysql時(shí)可以找到對(duì)應(yīng)my.ini文件啟動(dòng)
三 主節(jié)點(diǎn)配置
1修改主節(jié)點(diǎn)和從節(jié)點(diǎn)上my.ini
[mysqld]
server-id = 1  
binlog-do-db=test #要同步的數(shù)據(jù)庫(kù)
#binlog-ignore-db=mysql   #不同步的數(shù)據(jù)庫(kù),如果指定了binlog-do-db這里應(yīng)該可以不用指定的
log-bin=mysql-bin #要生成的二進(jìn)制日記文件名稱

修改從配置文件:
[mysqld]
server-id = 2
log-bin    = mysql-bin
replicate-do-db=test

2上創(chuàng)建用戶并授權(quán)
create user 'repla'@'127.0.0.1' identified by 'test';
GRANT REPLICATION SLAVE ON *.* TO 'repla'@'127.0.0.1';
3創(chuàng)建test數(shù)據(jù)庫(kù)

4 物理備份test目錄到從庫(kù)
把datadir指定的目錄的data目錄copy到從目錄
5 show master status
查看file和position字段對(duì)應(yīng)的參數(shù);
+------------------+----------+--------------+------------------+--------------
----+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid
Set |
+------------------+----------+--------------+------------------+--------------
----+
| mysql-bin.000006 |     1847 | test         |                  |
    |
+------------------+----------+--------------+------------------+--------------


四從節(jié)點(diǎn)配置
1啟動(dòng)從節(jié)點(diǎn)mysql服務(wù)
mysql -uroot -P3307 -p123456 如果端口不同,必須制定端口,才能在一臺(tái)機(jī)器上同時(shí)啟動(dòng)多實(shí)例

2 接收主節(jié)點(diǎn)傳送日志
change master to master_host='127.0.0.1',master_port=3306,master_user='repla',master_password='test',master_log_file='mysql-bin.000006',master_log_pos=1847;

3啟動(dòng)從數(shù)據(jù)庫(kù)復(fù)制功能
start slave

最后在主庫(kù)插入數(shù)據(jù)后,從庫(kù)就能看到主庫(kù)的數(shù)據(jù)了。

問題總結(jié)
1這里的my.ini文件在注冊(cè)表里有指定,無論是否使用命令指示使用自己命令的ini,系統(tǒng)都會(huì)根據(jù)注冊(cè)表里的my.ini文件位置去讀取并啟動(dòng)db。
比如用命令C:\Program Files\MySQL\MySQL Server 5.7\bin>mysql --defaults-file="D:\anzhuang\MySQL\my.ini" -uroot -p
想使用自己定義的my.ini.但注冊(cè)表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MySQL57\ImagePath里使用的路徑不是
這個(gè)路徑時(shí),還會(huì)按照注冊(cè)表的路徑讀取文件。
如果在windows上安裝,要正確識(shí)別my.ini位置,具體可根據(jù)服務(wù)選擇或注冊(cè)表信息判斷my.ini位置

2 備份時(shí)可采用物理備份和邏輯備份,如果是物理備份注意把主庫(kù)的data目錄下的全部文件復(fù)制到slave
這個(gè)data目錄一定是datadir參數(shù)中指定的目錄,這點(diǎn)可能會(huì)采用軟件安裝目錄下的data目錄而不是數(shù)據(jù)目錄
3 采用物理備份時(shí)很可能把a(bǔ)uto.cnf文件也復(fù)制到slave,造成主備之間的UUID不一致,這里的解決辦法是在slave
重新命名auto.cnf,然后重啟備庫(kù),重新生成新的UUID
可以參考網(wǎng)址http://www.linuxidc.com/Linux/2015-02/113564.htm
4 在slave上需要驗(yàn)證主從是否開始傳送日志方法
mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 127.0.0.1
                  Master_User: repla
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000011
          Read_Master_Log_Pos: 1684
               Relay_Log_File: SDSC-WIN7-ZHANGLU-relay-bin.000002
                Relay_Log_Pos: 1595
        Relay_Master_Log_File: mysql-bin.000011
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: test
    ......
 Slave_IO_Running: Yes Slave_SQL_Running: Yes都是Yes 就對(duì)了。
 可能出現(xiàn)問題是要多次stop slave后多次執(zhí)行change master to命令。

看完上述內(nèi)容,你們對(duì)windows上mysql如何進(jìn)行主從數(shù)據(jù)庫(kù)搭建及問題是什么有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

文章名稱:windows上mysql如何進(jìn)行主從數(shù)據(jù)庫(kù)搭建及問題是什么
文章網(wǎng)址:http://bm7419.com/article42/jcspec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、品牌網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃、服務(wù)器托管、全網(wǎng)營(yíng)銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)