Linux 下的 MySQL 主從同步技術

MySQL 主從同步技術

  • 主庫操做

  1. 環境準備,準備2臺機器,一個master 一個slave

​ 192.168.15.53 主庫
​ 192.168.15.94 從庫mysql

  1. 配置主庫的環境sql

    1. 修改主庫的配置文件,開啓binlog功能數據庫

      vim /etc/my.cnfvim

      [mysqld]        
      server-id=1        
      log-bin=s16-mysql-bin
    2. 重啓數據庫ide

      systemctl restart mariadb阿里雲

  2. 建立用於數據同步的帳號rest

    create user 'zhangfei'@'%' identified by 'zhang123';code

  3. 授予這個帳號,一個slave的身份標識server

    grant replication slave on *.* to 'zhangfei'@'%';ci

  4. 鎖表

    flush table with read lock;

    查看 表狀態

    show master status;

  5. 數據庫信息導出

    mysqldump -uroot -p --all-databases  > /opt/db.dump

  • 在mariadb從庫的操做

  1. 阿里雲的源,和官方源,同一安裝軟件包名以下
    yum install mariadb-server mariadb -y

  2. 配置從庫的配置文件,開啓server-id
    vim /etc/my.cnf
    寫入以下操做

    [mysqld]
    server-id=3
    read-only=true
    character-set-server=utf8
    collation-server=utf8_general_ci
    log-error=/var/log/mysqld.log

  3. 重啓數據庫
    systemctl restart mariadb

    • 注意數據庫版本

    刪除從庫本身的無用的數據手動drop刪除
    從庫導入主庫的數據,保證起始點數據一致
    mysql -uroot -p < /db.dump

  4. 在從庫,經過一條命令,開啓主從同步

    mysql > change master to master_host='192.168.15.53',
    master_user='zhangfei',
    master_password='zhang123',
    master_log_file='s16-mysql-bin.000004',
    master_log_pos=785;
  5. 開啓slave同步
    start slave ;

  6. 檢查主從同步狀態
    show slave status\G

    • 當你檢查這2條參數,yes的時候,主從ok

      Slave_IO_Running: Yes
      Slave_SQL_Running: Yes

  7. 此時解鎖主庫!!

unlock tables;

  1. 驗證主從同步是否正常 ​ ​ ​
相關文章
相關標籤/搜索