Mysql数据库的主从复制

  • Mysql主从复制做用原理
    一、在业务复杂的系统中,有这么一个情景,有一句sql语句须要锁表,致使暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即便主库出现了锁表的情景,经过读从库也能够保证业务的正常运做。
    二、作数据的热备
    三、架构的扩展。业务量愈来愈大,I/O访问频率太高,单机没法知足,此时作多库的存储,下降磁盘I/O访问的频率,提升单个机器的I/O性能。
    mysql主从复制是一个异步的复制过程,主库发送更新事件到从库,从库读取更新记录,并执行更新记录,使得从库的内容与主库保持一致。
主机 IP 主要软件
主服务器 192.168.126.129 mysql-5.7.1七、 ntp 、boost_1_59_0.tar
从服务器1 192.168.126.130 mysql-5.7.17 、 ntp 、boost_1_59_0.tar
从服务器2 192.168.126.131 mysql-5.7.17 、 ntp 、boost_1_59_0.tar

搭建Mysql主从复制mysql

  • 主服务器
  • 创建时间同步环境sql

    # systemctl stop firewalld.service  //关闭防火墙
    # setenforce 0
    # yum -y install ntp (通常系统自带 没有的话安装)
    # vim /etc/ntp.conf    (添加下面2行)
      server 127.127.126.0                    //本地是时钟源//
      fudge 127.127.126.0 stratum 8          //设置时间层级为8(限制在15内)//
    # systemctl restart ntpd    //重启ntp服务
  • 从服务器
  • 进行时间同步数据库

    # systemctl stop firewalld.service  //关闭防火墙
        # setenforce 0
        #  systemctl start ntpd    //开启ntp服务
        # yum install ntp ntpdate -y
        # /usr/sbin/ntpdate 192.168.126.129    //进行时间同步//

    安装Mysql服务
    安装详解:https://blog.51cto.com/13630803/2108180
    安装后设置密码:vim

    # mysqladmin -u root password '123456'
  • 配置主服务器服务器

    # vim /etc/my.cnf
        server-id       = 11
        log-bin=master-bin                         //主服务器日志文件//
        log-slave-updates=true                     //从服务器更新二进制日志//
    # systemctl restart mysqld  
    # mysql -u root -p123456  //登陆Mysql 给从服务器受权
    mysql> GRANT REPLICATION SLAVE ON *.* TO 'myslave'@'192.168.126.%' IDENTIFIED BY '123456';
    mysql> FLUSH PRIVILEGES;
    mysql>show master status;

    Mysql数据库的主从复制

  • 配置从服务器(两台配置相同)架构

    # vim /etc/my.cnf
      server-id       = 22           //另外一台从服务器也是22
        relay-log=relay-log-bin         //从主服务器上同步日志文件记录到本地//
        relay-log-index=slave-relay-bin.index        //定义relay-log的位置和名称//
    # systemctl restart mysqld
  • 按主服务器结果更改下面master_log_file 和master_log_pos异步

    # mysql -u root -p123456
        mysql> change master to master_host='192.168.126.129',master_user='myslave',master_password='123456',master_log_file='master-bin.000001',master_log_pos=604;
        mysql> start slave;  //启动同步
        mysql> show slave status\G;             //查看状态//

    Mysql数据库的主从复制

  • 测试一下
  • 主服务器上 create database test;
  • 去从服务器上 show databases;
    Mysql数据库的主从复制Mysql数据库的主从复制
相关文章
相关标签/搜索