mysql主從複製

來源:互聯網
上載者:User

標籤:sync   osi   .com   設定檔   版本   start   資料庫   否則   開啟   

                            mysql主從複製                             (超簡單)怎麼安裝mysql資料庫,這裡不說了,只說它的主從複製,步驟如下: 注意的是:先安裝好兩個資料庫,並且啟動好mysql,在修改設定檔,在重新啟動資料庫。 1、主從伺服器分別作以下操作:  1.1、版本一致
  1.2、初始化表,並在後台啟動mysql
  1.3、修改root的密碼

2、修改主伺服器master:
   #vi /etc/my.cnf
       [mysqld]
       log-bin=mysql-bin   //[必須]啟用二進位日誌
       server-id=222      //[必須]伺服器唯一ID,預設是1,一般取IP最後一段

3、修改從伺服器slave:
   #vi /etc/my.cnf
       [mysqld]
       log-bin=mysql-bin   //[不是必須]啟用二進位日誌
       server-id=226      //[必須]伺服器唯一ID,預設是1,一般取IP最後一段

4、重啟兩台伺服器的mysql
   /etc/init.d/mysql restart

5、在主伺服器上建立帳戶並授權slave:      mysql>GRANT REPLICATION SLAVE ON *.* to ‘mysync‘@‘%‘ identified by ‘q123456‘;     綠色部分表示:表示允許從伺服器主伺服器複製。 //一般不用root帳號,“%”表示所有用戶端都可能連,只要帳號,密碼正確,此處可用具體用戶端IP代替,如192.168.145.226,加強安全。
6、登入主伺服器的mysql,查詢master的狀態   mysql>show variables like  ‘%bin%‘; 查看是否開啟二進位檔案。           mysql>show master status;   +------------------+----------+--------------+------------------+
   | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
   +------------------+----------+--------------+------------------+
   | mysql-bin.000004 |      308 |              |                  |
   +------------------+----------+--------------+------------------+
   1 row in set (0.00 sec)
   註:執行完此步驟後不要再操作主伺服器MYSQL,防止主伺服器狀態值變化

7、配置從伺服器Slave:   mysql>change master to         master_host=‘192.168.145.222‘,         master_port=3306,        #如果連接埠是預設的,不寫此選項也可以。 這裡不要加引號                                    會報語法錯誤。環境是mysql5612報的錯誤,不知道別的                                           版本會不會報錯
         master_user=‘mysync‘,         master_password=‘q123456‘,         master_log_file=‘mysql-bin.000004‘,         master_log_pos=308;   //注意不要斷開,308數字前後無單引號。
   Mysql>start slave;    //啟動從伺服器複製功能

8、檢查從伺服器複製功能狀態:

   mysql> show slave status\G

   *************************** 1. row ***************************

              Slave_IO_State: Waiting for master to send event
              Master_Host: 192.168.2.222  //主伺服器地址
              Master_User: mysync   //授權帳戶名稱,盡量避免使用root
              Master_Port: 3306    //資料庫連接埠,部分版本沒有此行              Connect_Retry: 60              Master_Log_File: mysql-bin.000004   // I/O線程當前正在讀取的主伺服器二進位記錄檔的名稱。              Read_Master_Log_Pos: 600     // 在當前的主伺服器二進位日誌中,I/O線程已經讀取的位置,同步讀取二進位日誌的位置,大於等於Exec_Master_Log_Pos              Relay_Log_File: ddte-relay-bin.000003 // SQL線程當前正在讀取和執行的中繼記錄檔的名稱              Relay_Log_Pos: 251  // 在當前的中繼日誌中,SQL線程已讀取和執行的位置。              Relay_Master_Log_File: mysql-bin.000004 
              Slave_IO_Running: Yes    //此狀態必須YES              Slave_SQL_Running: Yes     //此狀態必須YES              Seconds_Behind_Master: 0   主從同步延時                    ......

註: Slave_IO及Slave_SQL進程必須正常運行,即YES狀態,否則都是錯誤的狀態(如:其中一個NO均屬錯誤)。

以上操作過程,主從伺服器配置完成。
  
9、主從伺服器測試:

主伺服器Mysql,建立資料庫,並在這個庫中建表插入一條資料:  10.注意事項:我們的伺服器本身mysql是開啟的,修改設定檔以後,要重啟mysql,5.6以上有時候會失敗,是因為mysql還有別的進程存在,我們service mysqld restart 會報錯的。所以需要kill掉所有的mysql進程。在重啟就可以。     
 

mysql主從複製

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.