日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

MySQL 5.5主从复制(Replication)

發布時間:2025/4/9 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL 5.5主从复制(Replication) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

MySQL的主從復制(Replication),可以保持兩臺MySQL數據庫的內容一致。因為其同步過程是異步的,所以備份數據庫上做任何操作,都不會影響主數據庫的性能。對游戲后臺數據庫而言,這是一個重大的優勢:對備份數據庫的查詢、備份等操作都不會影響游戲的線上運行。配置主從復制有許多教程,但都很繁瑣。我根據官方文檔,總結出一個簡單的配置流程。

配置

  • 線上運行的數據庫,稱之為Master服務器;備份的數據庫,稱之為Slave服務器
  • 分別修改兩臺服務器上的MySQL配置文件/etc/mysql/my.cnf:
    • Master服務器上加入這兩行(直接去掉注釋即可):

      server-id = 1log_bin = /var/log/mysql/mysql-bin.log
    • 然后重啟MySQL:

      service mysql restart
    • Slave服務器加入這一行:

      server-id = 2
    • 然后重啟MySQL:

      service mysql restart
  • 把Master數據庫備份傳給Slave數據庫:
    • 方法一:MyISAM格式可以直接拷貝,速度快:
      • 在Master服務器上備份數據庫,可以只有指定的數據庫,不同步mysql庫:

        mkdir /masterdbmysqlhotcopy --resetmaster --flushlog --addtodest --regexp=<數據庫匹配正則表達式> /masterdb
      • 如果原來已經設置過slave,現在要恢復數據,那么
        • 先在Slave服務器上mysql中停止slave模式并重置:

          stop slave;reset slave;
        • 然后關閉mysql:

          stop mysql
        • 刪除原有同名的數據庫。
      • 停止mysql后,把備份的Master數據庫目錄傳到Slave服務器上的mysql目錄中,可以用scp命令拷貝:

        scp -r -P <端口> /masterdb/* root@<IP地址>:/Jpcq/MySQL/
      • 拷貝到Slave的文件需要修改owner:

        chown -R mysql:mysql *
      • 修改Slave的my.cnf文件,禁止同步mysql庫:

        replicate-ignore-db=mysql
      • 啟動mysql:

        start mysql
      • 重新開啟slave模式,在mysql中執行:

        change master to master_host='<Master IP地址>', master_user='<用戶名>', master_password='<密碼>';start slave;
    • 方法二:使用mysqldump,通用,但是慢:

      • 在Master服務器上備份數據庫:

        mysqldump --all-databases --master-data >apply_slave.sql
      • 把備份文件dbdump.db傳到Slave服務器上,恢復數據庫:

        mysql <apply_slave.sql
      • 在Slave服務器上開啟slave模式,在mysql中執行:

        change master to master_host='<Master IP地址>', master_user='<用戶名>', master_password='<密碼>';start slave;

維護

  • Slave顯示同步狀態:

    show slave status\G;
  • 顯示進程列表:

    show processlist\G;
  • Master顯示正在同步的Slaves:

    show slave hosts;
  • Master顯示最新binlog位置:

    show master status;

MySQL 5.5 - 5.7的改進

  • MySQL 5.5的主從復制是單線程的,性能受限。
  • MySQL 5.6的不同數據庫可以并行,單個數據庫還是順序執行的。
  • MySQL 5.7不再受限制,所有Master數據庫并行執行的事務,Slave也可以并行執行。
  • MySQL 5.7的Slave還支持從多個Master同步數據庫。

轉載于:https://www.cnblogs.com/tinyfish/p/5177490.html

總結

以上是生活随笔為你收集整理的MySQL 5.5主从复制(Replication)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。