linux配置mysql主從同步


配置梳理

  1. 主數據庫
    開啟二進制日志
    設置唯一id
    獲取二進制文件名和位置
    創建用於通信的賬號
  2. 從數據庫
    設置唯一id
    使用分配的賬號讀取主數據庫的二進制日志

准備工作

主數據庫:192.168.0.201
從數據庫:192.168.0.202

主數據庫配置

  1. 進入配置文件
    vim /etc/my.cnf
  2. 添加兩行
    log-bin=mysql-bin #開啟二進制日志
    server-id=201 #設置server-id,唯一值,標識主機
  3. 重啟服務
    service mysql restart
  4. 創建賬號密碼
    進入mysql
    mysql -u root -p
    創建用戶(IP為可訪問該master的IP,任意IP就寫'%')
    CREATE USER 'slave_userid'@'%' IDENTIFIED BY 'slave_pwd';
    查看用戶是否創建成功
    select user,host from mysql.user;
    分配權限(IP為可訪問該 master的IP,任意IP就寫'%')
    GRANT REPLICATION SLAVE ON . TO 'slave_userid'@'%';
  5. 刷新權限
    flush privileges;
  6. 查看master狀態,記錄二進制文件名File和位置Position,后面配從庫要用
    show master status;

從數據庫配置

  1. 進入配置文件
    vim /etc/my.cnf
  2. 添加一行
    server-id=202 #設置server-id,唯一值,標識主機
  3. 重啟服務
    service mysql restart
  4. 登錄進入mysql,執行同步sql語句(主服務器名,用於主從的用戶名,密碼,二進制文件名,位置)
    mysql -u root -p
CHANGE MASTER TO
MASTER_HOST='192.168.0.201',
MASTER_USER='slave_userid',
MASTER_PASSWORD='slave_pwd',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=755;
  1. 啟動slave同步進程
    start slave;
  2. 查看slave狀態,當Slave_IO_Running和Slave_SQL_Running都為YES的時候就表示主從同步設置成功了
    show slave status\G
  3. 可以改數據驗證同步,可以stop slave;執行看看效果
  4. 其他
    不同步哪些數據庫
    binlog-ignore-db = mysql
    binlog-ignore-db = test
    binlog-ignore-db = information_schema
    只同步哪些數據庫,除此之外,其他不同步
    binlog-do-db = game


免責聲明!

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



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