Linux 下的 MySQL 主从同步技术

MySQL 主从同步技术

  • 主库操作

  1. 环境准备,准备2台机器,一个master 一个slave

​ 192.168.15.53 主库
​ 192.168.15.94 从库

  1. 配置主库的环境

    1. 修改主库的配置文件,开启binlog功能

      vim /etc/my.cnf

      [mysqld]        
      server-id=1        
      log-bin=s16-mysql-bin    
    2. 重启数据库

      systemctl restart mariadb

  2. 创建用于数据同步的账号

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

  3. 授予这个账号,一个slave的身份标识

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

  4. 锁表

    扫描二维码关注公众号,回复: 6200516 查看本文章

    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. 验证主从同步是否正常


猜你喜欢

转载自www.cnblogs.com/zhang-zi-yi/p/10848122.html