實現Mysql主從備份


首先說下主從備份的優點:

1. mysql的主從復制的主要優點是同步"備份", 在從機上的數據庫就相當於一個(基本實時)備份庫.

2. 在主從復制基礎上, 通過mysqlproxy可以做到讀寫分離, 由從機分擔一些查詢壓力.

3. 做一個雙向的主從復制, 兩台機器互相為主機從機, 這樣, 在任何一個機器的庫中寫入, 都會"實時"同步到另一台機器, 雙向的優點在於當一台主機發生故障時, 另一台主機可以快速的切換過來繼續服務.

接下來講下具體的實現步驟:

1.修改主數據庫根目錄下的my.ini配置文件,添加server-id=1  設置服務器id,配置需要備份的數據庫(binlog-do-db=庫名),設置不需要備份的數據庫(binlog-ignore-db=庫名) ,開啟二進制日志(log-bin=mysql-bin)然后重啟數據庫

2.將主庫和從庫的數據保持一致,主要實現的方法是

(1)第一種方法將鎖定主表讓數據保持現在狀態,具體操作為以下幾步:

      1. MYSQL-A  下執行SQL命令:flush tables with read lock;目的是鎖表

      2. MYSQL-B下面執行命令:mysqldump -h10.0.0.2 -uroot -proot virt > var/backup/virtback.sql;備份數據;

      3. MYSQL-A下執行SQL命令:unlock tables;解除鎖定。

      4. MYSQL-B 執行命令:mysql -uroot -proot virt < var/backup/virtback.sql;還原數據

(2)第二種方法就是使用復制數據,將主庫copy一份到從庫

3.真實操作

主庫:  1. 注冊一個用戶    %  表示所有客戶端都能連

            2. 登錄主服務器的mysql,查詢master的狀態   show master status;

 

 

從庫:   1.配置從服務器Slave: change master to master_host='192.168.145.222',master_user='mysync',master_password='q123456',
         master_log_file='mysql-bin.000004',master_log_pos=308;   //注意不要斷開,308數字前后無單引號。

           2.start slave;   //開啟從服務器復制功能

     3.檢查從服務器復制功能狀態   show slave status

         紅框標注的值都為YES 說明配置成功。自己可以選擇配置的數據庫表中添加數據進行測試。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM