zoukankan      html  css  js  c++  java
  • MySql主从同步和延迟同步

     MySql同步与延迟同步

    Mysql同步

    一 Mysql主服务器上操作

      1 开启服务器上的log_bin功能

    # vim/etc/my.cnf

    增加一下两行

    log_bin=mysql-bin

    server_id=1

      2 重启mysql

    # service mysqldrestart

      3 登录mysql建立账户并授权slave功能

         #mysql –uroot –p

         mysql> grant replication slave on *.* to 'repl'@'%' identified by'repl';

     mysql> flush privileges;

     4  使用mysqldump命令对mysql服务器数据库备份

    # ln -s/data/mysql/bin/mysqldump /usr/bin/

    #mysqldump -uroot -p --single-transaction --all-databases --master-data    =1 > /data/mysql/data/mysqlbackup20170727.sql

      5  将主库服务器备份的sql文件传送到从库指定目录

    #scp /data/mysql/data/mysqlbackup20170727.sql root@19.171.34.158:/    data/mysql/data

    二 mysql从库服务器上的操作

       1 登录mysql服务器停止slave同步操作

    #mysql –uroot –p

    mysql> stop slave;

       2 修改从库的配置文件

    #vim /etc/my.cnf

    增加以下两行

    log_bin=mysql-bin

    server_id=2 

       3 重启mysql服务器

    # service mysqld restart

       4 将主库的备份文件导入从库中

         #mysql –uroot –p < /data/mysql/data/mysqlbackup20170727.sql

       5 配置从服务器与主服务器的同步

         #head –n 30 /data/mysql/data/mysqlbackup20170727.sql

    mysql主库binlog文件的名字及位置记录在备份的sql文件中

    如下图红色框中所示:

    #mysql –uroot –p

    mysql>change master tomaster_host='10.44.30.153',master_user='replll',master_password='mAME33888888e333CrqEqSnt8W',master_log_file='mysql-bin.000065',master_log_pos=760539299;

    命令中参数解释:

    master_host   mysql主服务器所在的IP地址

    master_user   mysql主服务授权从库slave功能的用户

    master_password  mysql主服务器授权从库salve功能用户的密码

    master_log_file  mysql主服务binlog名称

    master_log_pos  mysql主服务binlog中执行到的位置。

    备注:master_log_file与 master_log_pos 为上图中红色框中对应的值。

      6 启动从服务器的slave

    mysql> start slave;

      7 检查slave服务器的状态

    mysql>show slave statusG;   如下图所示:红色框中两项都为yes表示主从同步成功。

        

    二、mysql延迟同步    

    目的是 防止主库的误操作造成从库也被误操作。

    #mysql –uroot –p

    mysql>stop slave;

    mysql>CHANGE MASTER TO MASTER_DELAY = 1800;单位为秒

    mysql>start slave;

    mysql>show slave status G; 

    如下图所示: 红色框中参数的意义:

    Master_Log_File  主库mysql的binlog文件名

    Read_Master_Log_Pos 读取主库mysql的binlog文件的位置

    Exec_Master_Log_Pos 从库执行主库mysql的binlog文件的位置

    Seconds_Behind_Master 从库延迟主库同步的时间单位秒

    SQL_Delay  设置从库服务器相较于主库服务器的延迟同步时间

  • 相关阅读:
    centos7安装sshd
    Linux搭建redist-cluster集群
    nginx离线安装,反向代理,负载均衡
    2017/12/31Java基础学习——数组输出の通过Arrays.toString()方法
    Java代码编写规范
    2017/12/27java基础学习——遇到的不懂问题
    2017/12/23Java基础学习——如何通过记事本编写代码,并通过dos界面运行Java源文件
    ZOJ3880 Demacia of the Ancients【序列处理+水题】
    ZOJ3869 Ace of Aces【序列处理】
    ZOJ3872 Beauty of Array【DP】
  • 原文地址:https://www.cnblogs.com/sunshine-long/p/8719297.html
Copyright © 2011-2022 走看看