zoukankan      html  css  js  c++  java
  • mysql 主从复制

    配置两台mysql服务器

    主机: 192.168.139.154 

    从机: 192.168.80.153

    如果复制多个数据库,重复设置这个选项即可:

    binlog-ignore-db=db1

    replicate-do-db=db2

    创建用户(在主库上创建):
    GRANT REPLICATION SLAVE,FILE ON *.* TO 'master'@'192.168.139.153' IDENTIFIED BY "1";
    flush privileges;
    master:从库可以访问的账户
    1:从库可以访问的密码
    192.168.139.153:从库的ip

    更改主机配置    # vi /etc/my.cnf

    在[mysqld]下添加如下配置

    /etc/my.cnf:
    [mysqld]
    log-bin=/var/lib/mysql/binlog
    #主机id不能重复
    server-id=1
    #要同步的数据库
    binlog-do-db = cmdb

    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock

    设置不同步的数据库(可选择):

    binlog-ignore-db = mysql 不同步mysql库和test库
    binlog-ignore-db = test

    #退出重启mysql
    service mysqld restart

    从库:
    /etc/my.cnf:
    [mysqld]
    #保证不重复
    server-id=2
    #要同步的数据库
    replicate-do-db=cmdb


    #mysql5.5+版本主从复制不支持这些变量,需要在从库上用命令来设置:
    #后面两个参数的值与主库保持一致(在主机上show master 查看)
    CHANGE MASTER TO MASTER_HOST="192.168.139.154",MASTER_PORT=3306,MASTER_USER="master",MASTER_PASSWORD="1",MASTER_LOG_FILE="binlog.000001",MASTER_LOG_POS=3194;
    flush privileges;
    #开启主从
    start slave;

    #查看主从配置信息

    show slave statusG;

     则成功

    最后在主库和从库新建数据库cmdb(表结构数据得一致)

    在主库新建表 观察从库同步信息

    =========================================(可选)

    SHOW VARIABLES LIKE 'server_id';查看配置文件中设置的id

    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | server_id     | 0     |
    +---------------+-------+

    发现server_id没变

    既然参数文件不生效,就试试在数据库命令里面设置:

     SET GLOBAL server_id=136;

    slave start

    query ok 主从配置成功

     从数据库中数据随着主库数据变化而变化

  • 相关阅读:
    Git 菜鸟变大神 (一) 本地仓库的创建和初始化
    Dubbo项目实战 (二) 注册中心zookeeper-3.4.6集群以及高可用
    Dubbo项目实战 (一)服务划分粒度
    枚举类的理解和应用
    全文检索原理及实现方式
    MinIO简介和java Api的使用
    js金额转中文大写
    文档相关工具
    JS特殊监听方法
    注解的使用、拦截器使用、AOP切面使用
  • 原文地址:https://www.cnblogs.com/coderdxj/p/6666524.html
Copyright © 2011-2022 走看看