mysql主從資料庫配置

發表於2019-05-11

首先確保主從伺服器上的Mysql版本相同
主資料庫伺服器配置:
1. 修改主資料庫的配置檔案my.ini, 修改之後重啟Mysql服務。
        [mysqld]
        port=3306
        server-id=10  #與從資料庫不同
        log-bin=c:\log-bin.log    #日誌檔案
        binlog-do-db=tpceshi #這裡設定需要在主伺服器記錄日誌的資料庫,只有在這裡設定了的資料庫才能被複制到從伺服器
        binlog-ignore-db=mysql #這裡設定在主伺服器上不記度日誌的資料庫
2. 開啟mysql命令列登陸mysql,設定一個從資料庫的賬戶,給從資料庫分配複製許可權
   mysql>GRANT REPLICATION SLAVE ON *.* TO slave001'@'192.168.0.99' IDENTIFIED BY '123456';

  slave001:使用者名稱

  192.168.0.99:IP

  123456:密碼

  3.show masterstatus;顯示主資料庫狀態 

    

  File:資料庫日誌檔案

  Position:日誌位置  

  這2個選項用於在從資料庫伺服器中配置

  ////////////////

從資料庫資料同步

 ////////////////

好了,現在可以停止主資料的的更新操作,並生成主資料庫的備份,我們可以通過mysqldump匯出資料到從資料庫
 
注意在匯出資料之前先對主資料庫進行READ LOCK,以保證資料的一致性
mysql> flush tables with read lock;
之後是mysqldump
mysqldump -h127.0.0.1 -p3306 -uroot -p test > /home/chenyz/test.sql
最好在主資料庫備份完畢,恢復寫操作
mysql> unlock tables;
將剛才主資料備份的test.sql複製到從資料庫,進行匯入

從資料庫伺服器配置:

1.修改從資料庫的my.ini,增加server-id引數,與主資料庫不同

2.mysql命令列,指定複製使用的使用者,主資料庫伺服器的ip,埠以及開始執行復制日誌的檔案和位置
        CHANGE MASTER TO
        MASTER_HOST='192.168.1.238',
        MASTER_USER='root',
        MASTER_PASSWORD='123456',
        MASTER_LOG_FILE='log-bin.000001',
        MASTER_LOG_POS=120;
3.在從伺服器上,啟動slave程式
mysql> start slave;
4. 在從伺服器進行show salvestatus驗證
        mysql> SHOW SLAVE STATUS\G
        Slave_IO_State: Waiting for master to send event
        Master_Host: localhost
        Master_User: root
        Master_Port: 3306
        Connect_Retry: 3
        Master_Log_File: mysql-bin.003
        Read_Master_Log_Pos: 79
        Relay_Log_File: gbichot-relay-bin.003
        Relay_Log_Pos: 548
        Relay_Master_Log_File: mysql-bin .003
        Slave_IO_Running: Yes
        Slave_SQL_Running: Yes

如果Slave_IO_RunningSlave_SQL_Running都為YES的話,則表明配置成功。



評論(4)

相關文章