• MySQL的主从异步复制实验


    注意: MySQL的主从复制不是架构
    MySQL的主从异步复制实验
    需要3台机器
    部署MySQL主从异步复制
    mysql A:192.168.200.66
    mysql B:192.168.200.67
    mysql C:192.168.200.68
    ------------------------------------------
    所有机器:
    iptables -F
    setenforce 0
    systemctl stop firewalld
    ------------------------------------------
    A   :
    yum -y install ntp  (时间同步服务器,保证3台机器的时间是一致的)
    vim /etc/npt.conf   # 在文件末尾添加两行
    server 127.127.1.0
    fudge 127.127.1.0 stratum 8
    保存退出
    启动NTP服务
    systemctl enable ntpd
    systemctl start ntpd
    -------------------------------------------
    B :
    rpm -q ntpdate
    yum -y install ntpdate
    ntpdate 192.168.200.66   //时间同步,保证第2台机器与主服务器的时间是一致的。
    date -s "2018-10-12 00:22:33"  //模拟设置时间,然后再用上述命令查看是否同步。
    ntpdate 192.168.200.66
    date //查看是否同步成功
    crontab -l //查看计划任务//会看到每台机器都会有一个时间同步的计划任务
    --------------------------------------------
    C :
    rpm -q ntpdate
    yum -y install ntpdate
    ntpdate 192.168.200.66
    ========================================
    实验开始:
    所有机器安装mariadb mariadb-devel mariadb-server
    yum -y install  mariadb mariadb-devel mariadb-server
    并开启mariadb
    systemctl start mariadb
    ---------------------------------------------
    A :
    vim /etc/my.cnf
    [mysqld]
    server-id=1  //服务的描述编号  3台主机的描述编号不能一样
    log-bin=mysql-binlog    //开启二进制日志功能
    log-slave-updates=true   
    保存退出
    重启mariadb
    systemctl restart mariadb
    netstat -lnpt |grep :3306  //检查数据库端口号
    mysql
    grant replication slave on *.* to 'myslave'@'192.168.200.6_' identified by '123456';        //给从服务器用户授权
    flush privileges;     //刷新授权表
    show master status;   //查看日志的位置 Position
    exit
    《考虑主服务器上有没有旧数据,如果有的话进行备份》
    mysqldump -u root --all-databases > /root/alldbbackup.sql
    scp /root/alldbbackup.sql root@192.168.200.67:/root/
    scp /root/alldbbackup.sql root@192.168.200.68:/root/
    ---------------------------------------------
    B:
    《考虑主服务器上有没有旧数据,如果有的话进行备份》从的服务器要进行导入数据
    mysql -u root -p < /root/alldbbackup.sql //导入主服务器的数据
    //从服务器连接主服务器进行测试,如果连接成功说明主库配置成功
    mysql -u myslave -p123456 -h 192.168.200.66
    //修改mysql 配置文件
    vim /etc/my.cnf
    server-id=2                //开启中继日志
    relay-log=relay-log-bin
    relay-log-index=slave-relay-bin.index
    保存退出
    ////重启mariadb
    systemctl restart mariadb
    //连接mysql
    mysql
    stop slave;  //停掉本身的从服务器功能
    CHANGE MASTER TO
    MASTER_HOST='192.168.200.66',
    MASTER_USER='myslave',
    MASTER_PASSWORD='123456',
    MASTER_LOG_FILE='mysql-binlog.000001',   
    ///////////////////////////////////通过在A主机中的数据库的show master status;   来查看日志的MASTER_LOG_FILE以及MASTER_LOG_POS的值是多少
    MASTER_LOG_POS=479;
    /////开启从服务器功能
    start slave;
    show slave statusG;   //查看从的状态信息 G 表示竖行显示信息
    《如果在操作过程中出现报错,或看到从中继日志没有开启,可以重新设定 ,用这个命令也可以查看到底哪里出现错误。然后根据以下操作在重新设定,在进行查看。
    stop slave;
    reset slave;
    CHANGE MASTER TO
    MASTER_HOST='192.168.200.66',
    MASTER_USER='myslave',
    MASTER_PASSWORD='123456',
    MASTER_LOG_FILE='mysql-binlog.000001',
    MASTER_LOG_POS=479;
    然后 resart slave;
    show slave statusG ;  //再进行查看   主要是看Slave_IO_Running 与Slave_SQL_Running 是否为yes ,若是yes表示成功

    -----------------------------------------------
    C:
    《考虑主服务器上有没有旧数据,如果有的话进行备份》从的服务器要进行导入数据
    mysql -u root -p < /root/alldbbackup.sql //导入主服务器的数据
    //从服务器连接主服务器进行测试,如果连接成功说明主库配置成功
    mysql -u myslave -p123456 -h 192.168.200.66
    //修改mysql 配置文件
    vim /etc/my.cnf
    server-id=3
    relay-log=relay-log-bin
    relay-log-index=slave-relay-bin.index
    保存退出
    ////重启mariadb
    systemctl restart mariadb
    //连接mysql
    mysql
    stop slave;  //停掉本身的从服务器功能
    CHANGE MASTER TO
    MASTER_HOST='192.168.200.66',
    MASTER_USER='myslave',
    MASTER_PASSWORD='123456',
    MASTER_LOG_FILE='mysql-binlog.000001',   
    ///////////////////////////////////通过在A主机中的数据库的show master status;   来查看日志的MASTER_LOG_FILE以及MASTER_LOG_POS的值是多少
    MASTER_LOG_POS=479;
    /////开启从服务器功能
    start slave;
    show slave statusG;
    --------------------------------------------------
    所有主机都执行
    show databases;   //查看3个数据库内容是否一致
    在A主库中创建一个库
    create database AB_DFF;  //创建一个库
    在所有主机进行查看show databases;      //查看是否有这个库AB_DFF
    =====================================================
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    CF1480
    网络编程中常见地址结构与转换(IPv4/IPv6)
    inet_pton, inet_ntop
    mktime 夏令时
    C/C++中volatile关键字详解
    STL之vector容器详解
    Linux学习--gdb调试
    Linux编程基础——GDB(设置断点)
    FTP模式简式:PORT/PASV/EPRT/EPSV
    strchr和strstr 函数
  • 原文地址:https://www.cnblogs.com/elin989898/p/11967448.html
Copyright © 2020-2023  润新知