mariadb主從備份

mariadb主從備份

master主庫配置

  1. 中止mariadbmysql

    systemctl stop mariadbsql

  2. 修改配置文件my.conf數據庫

    vim /etc/my.cnf
    [mysqld]
    server-id=1
    log-bin=mysql-bin
    server-id服務的惟一標識(主從之間都必須不一樣);log-bin啓動二進制日誌名稱爲mysql-binvim

  3. 重啓mariadbide

    systemctl start mariadb測試

master主庫添加從庫帳號

  1. 新建用於主從同步的用戶ccc,容許登陸的從庫是'192.168.11.175'rest

    create user 'ccc'@'192.168.11.175' identified by '123456';日誌

  2. 給該用戶受權,只能查看的權限server

    grant select on . to 'ccc'@'%';同步

  3. 授予普通用戶,slave的身份

    grant replication slave on . to 'ccc'@'192.168.11.175';
    檢查受權帳號的權限
    show grants for ccc@'192.168.11.175';

  4. 實現對主數據庫鎖表只讀,防止數據寫入,數據複製失敗

    flush table with read lock;

  5. 記錄下主庫的狀態,記錄下,日誌文件的名字,和位置

    show master status;
    File | Position |
    | mysql-bin.000003 | 1574

  6. 鎖表後,必定要單獨再打開一個SSH窗口,導出數據庫的全部數據,

    mysqldump -uroot -p --all-databases > /opt/all.sql

  7. 確保數據導出後,沒有數據插入,完畢再查看主庫狀態

    show master status;

  8. 狀態沒有變化,,解鎖主庫,恢復可寫

    unlock tables;

從庫配置

  1. 從主庫中獎數據下載過來

    scp root@47.110.52.76:/opt/all.sql /tmp

  2. 修改Slave的/etc/my.cnf,並重啓數據庫

    vim /etc/my.conf
    [mysqld]
    server-id=3
    read-only=true
    systemctl restart mariadb

  3. 恢復主庫Master的數據導入到Slave庫

    MariaDB [raindb]> source /tmp/all.sql;

  4. 配置複製的參數,Slave從庫鏈接Master主庫的配置

    change master to master_host='47.110.52.76',master_user='ccc',master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=1574;

  5. 啓動從庫的同步開關,測試主從複製的狀況

    start slave;

取消主從同步

在主庫中 mysql>change master to master_host='' mysql>stop slave;reset slave;

相關文章
相關標籤/搜索