linux中mysql主從熱備份

來源:互聯網
上載者:User

標籤:主從同步 mysql熱備份 linux mysql 即時同步

近期需要對主伺服器上的mysql進行熱備份,也就是資料即時同步。

參考的文章如下 :http://369369.blog.51cto.com/319630/790921/


我的環境如下:主機A ip:42.62.25.47   從機B  ip:106.3.37.197

              需要熱備份的資料為vbumng


1.前提要求:主機A 的mysql版本 不得高於 從機B的mysql版本


2.修改主機A的設定檔

 我的設定檔目錄為  /etc/my.cnf


  在[mysqld] 模組中加入下面配置 

[mysqld]log-bin = mysql-bin  <!--啟用二進位檔案-->log-slave-updates = turebinlog-do-db = vbumng      <!--要備份的資料庫名稱-->binlog-do-db = cdnquality   <!--如果要備份多個資料庫-->server-id       = 47

ps:   server-id一定要配置,預設為1,一般取IP最後一段

       log-bin  為資料庫的二進位記錄檔,  

      如果要備份主機上的多個資料庫,則添加多個 binlog-do-db   

至此為止主機A  mysql配置修改完畢


3.主機A mysql重啟,建立使用者並授權

  重啟主機A mysql   /etc/init.d/mysqld start,進入mysql

  建立使用者並授權slave,這個使用者從機中需要使用到

GRANT REPLICATION SLAVE ON *.* to ‘resourcemanage‘@‘%‘ identified by ‘chinacache.gz‘;//一般不用root帳號,“%”表示所有用戶端都可以連,只要帳號密碼正確,此處可用具體用戶端IP代替,如106.3.37.197,加強安全。

查看master 狀態

mysql>show master status;   +------------------+----------+--------------+------------------+   | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |   +------------------+----------+--------------+------------------+   | mysql-bin.000004 |      308 |  testDB      |                  |   +------------------+----------+--------------+------------------+   1 row in set (0.00 sec)

 註:執行完此步驟後不要再操作主伺服器MYSQL,防止主伺服器狀態值變化,這裡的file與設定檔中制定的二進位檔案格式相同


4.配置從機B 設定檔

 

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

網上很多文章都提到,在此處放master-host,master-user等,但是mysql5.0之後就不支援了,加入了反而資料庫無法啟動。


5.重啟從機mysql,配置對應的master資訊

   重啟從機B  mysql

/etc/init.d/mysql restart

將主機testDB 資料完整複製一份到從機,一定要手動備份過去,因為主從slave只即時同步start slave

命令執行後進行的增刪改查操作。


配置從機 slave

change master to master_host=‘42.62.25.47‘,master_user=‘testDB‘,master_password=‘chinacache.gz‘,master_log_file=‘mysql-bin.000004‘,master_log_pos=308;

ps: master_host——主機ip

     master_user——需要備份的資料庫

     master_password——主機建立的slave密碼

     master_log_file——master status中對應的日誌file

     master_log_pos——master status中對應的position  ,主機此處master_log_pos不需要引號


 開啟slave

 mysql>start slave; mysql>show slave status\G *************************** 1. row ***************************               Slave_IO_State: Waiting for master to send event                  Master_Host: 42.62.25.47     <!--主機ip-->                  Master_User: vbumng           <!--主機db名稱-->                  Master_Port: 3306             <!--主機db連接埠-->                Connect_Retry: 60              Master_Log_File: mysql-bin.000004   <!--主機master記錄檔-->          Read_Master_Log_Pos: 40543               Relay_Log_File: mysqld-relay-bin.000006                Relay_Log_Pos: 3489        Relay_Master_Log_File: mysql-bin.000004              Slave_IO_Running: Yes            Slave_SQL_Running: Yes              Replicate_Do_DB: vbumng                            .....................


ps:如果Slave_IO_Running, Slave_SQL_Running均顯示Yes,則說明slave成功,可在主機資料庫中添加資料,在從機中將探索資料被即時同步了。

    如果有一個為No,則需要查看日誌了。



到此為止,簡單的一主一從就沒有問題了,如果是主機上多個資料庫,分別備份到不同的從機的話,那麼主機my.cnf中配置多個binlog-do-db,從機的話流程就和上面一樣咯。



本文出自 “bulajunjun” 部落格,請務必保留此出處http://5148737.blog.51cto.com/5138737/1570274

linux中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.