zoukankan      html  css  js  c++  java
  • mysql5.6 replication异步复制搭建

    --mysql 复制搭建

    准备sql2服务器 ,采用复制sql1的方法


    --###sql2 解决vm网卡复制问题
    vi /etc/udev/rules.d/70-persistent-net.rules
    1、找到与ifconfig -a得出的MAC相同的一行
    改成"NAME=eth0 "

    2、把上面一行 NAME='eth0' 删掉

    --sql2 同步mac地址 修改ip地址192.168.33.191
    ifconfig
    HWaddr 00:0C:29:D1:BE:65

    vi /etc/sysconfig/network-scripts/ifcfg-eth0

    DEVICE="eth0"
    BOOTPROTO=static
    NM_CONTROLLED="yes"
    ONBOOT="yes"
    TYPE="Ethernet"
    NETMASK=255.255.255.0
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=yes
    IPV6INIT=no
    NAME="System eth0"
    HWADDR=00:0C:29:CE:35:88
    PEERDNS=yes
    PEERROUTES=yes
    LAST_CONNECT=1499782915
    IPADDR=192.168.33.190
    GATEWAY=192.168.33.2
    DNS1=180.76.76.76
    DNS2=114.114.114.114

    vi /etc/sysconfig/network 修改hostname
    NETWORKING=yes
    HOSTNAME=sql1

    --sql2 重启生效
    reboot

    --###sql2 删除源码编译安装的mysql
    1、关闭mysql服务进程
    su - mysql
    mysqladmin shutdown

    2、查找mysql安装目录
    su - root
    whereis mysql
    mysql: /etc/mysql /usr/local/mysql

    cd /etc/
    rm -fr mysql

    cd /usr/local/
    rm -fr mysql

    3、查找mysql相关目录
    find / -name mysql
    /data/sql1/data/mysql

    cd /data
    rm -fr sql1


    --sql2 修改机器名 全新安装mysql
    参见《mysql单机-单实例源码编译安装配置.sql》


    --数据库在线备份配置
    《xtrabackup安装与使用.sql》


    --###配置mysql异步复制
    master:sql1 192.168.33.190
    slave :sql2 192.168.33.191


    --1、master 配置

    --2、确保master log-bin打开
    mysql> show variables like '%log_bin%';
    +---------------------------------+-----------------------------------+
    | Variable_name | Value |
    +---------------------------------+-----------------------------------+
    | log_bin | ON |


    --3、master 添加 server_id参数 多为ip
    su - mysql
    vi /etc/mysql/my.cnf
    #replication
    server_id = 10000

    --4、master处 创建复制专用账户 usvr_replication 访问来源192.168.33网段 都可以连接master
    CREATE USER usvr_replication@'192.168.33.%' IDENTIFIED BY '123456';

    GRANT REPLICATION SLAVE ON *.* TO usvr_replication@'192.168.33.%'; #--赋权replication slave 且可以复制所有用户数据库

    --5、重启master
    mysqladmin shutdown
    sh mysql_startup.sh


    --###slave配置
    --1、测试usvr_replication 用户是否正常登录
    mysql -h192.168.33.190 -p3306 -uusvr_replication -p

    --2、slave 添加server_id 一般为ip 便于唯一
    vi /etc/mysql/my.cnf
    #replication
    server_id = 10001


    --3、确保auto.cnf 与master不一样
    more /data/sql2/data/auto.cnf

    --4、确保slave 也开启log-bin 目的:主备切换和备份
    mysql> show variables like '%log_bin%';
    +---------------------------------+-----------------------------------+
    | Variable_name | Value |
    +---------------------------------+-----------------------------------+
    | log_bin | ON |


    --数据同步
    默认情况下,会同步复制用户下所有的DB,三种方法指定要复制的DB
    1、在master上的/etc/my.inf中通过参数binlog-do-db、binlog-ignore-db设置需要同步的数据库。
    2、在执行grant分配权限操作的时候,限定数据库
    3、在slave上限定数据库使用replicate-do-db=dbname #--限定sql_thread需要应用的dbname

    --5、重启slave
    mysqladmin shutdown
    sh mysql_startup.sh

    --6、master 在线全备份 slave上恢复
    《xtrabackup安装与使用.sql》

    --7、定位全备份时刻,master上的 master_log_file和master_log_pos
    more /data/sql2/data xtrabackup_binlog_pos_innodb
    mysql-bin.000004 346


    --8、配置slave到master 连接 执行时要小心,该句会多次执行时会产生重复数据!
    mysql> change master to
    master_host='192.168.33.190',
    master_port=3306,
    master_user='usvr_replication',
    master_password='123456',
    master_log_file='mysql-bin.000004',
    master_log_pos=346;

    --9、slave上启动开启同步
    mysql> start slave;


    --10、监控slave复制状态 如果有任何报错,建议
    show slave statusG


    --重启后replication 自动连接

    --###配置半同步
    《mysql_半同步复制配置.sql》


    --###主备切换

    各参数调整

  • 相关阅读:
    Nosql database
    NoSQL
    nodejs and db
    Nodejs and json
    Nodejs异步
    HTTP-304 NOT Modified
    Origin null is not allowed by Access-Control-Allow-Origin
    nodejs MVC
    solr 亿万级数据查询性能測试
    iOS8 对开发人员来说意味着什么?
  • 原文地址:https://www.cnblogs.com/justdba/p/7135937.html
Copyright © 2011-2022 走看看