zoukankan      html  css  js  c++  java
  • Mysql---搭建简单集群,实现主从复制,读写分离

    参考博客:https://blog.csdn.net/xlgen157387/article/details/51331244

    A. 准备:多台服务器,且都可以互相随意访问root用户,都可以随意进行远程连接,开放3306端口,简单来说就是本地可以随意连接上两台服务器的mysql --- root用户

    B. 主服务器,修改my.cnf,windows下修改my.ini配置

    注:在[mysqld]下增加如下配置:

    log-bin=mysql-bin

    server-id=2

    binlog-ignore-db=information_schema

    binlog-ignore-db=cluster

    binlog-ignore-db=mysql

    binlog-do-db=mytest

    server-id用于标识唯一的数据库,这里设置为2,在设置从库的时候就需要设置为其他值

    binlog-ignore-db表示同步的时候ignore的数据库 

    binlog-do-db指定需要同步的数据库

    例子:

     

    ---配置完成后,重启mysqld服务,

    输入以下命令 --- 分三次,

    GRANT FILE ON *.* TO 'root'@'从机IP' IDENTIFIED BY '连接密码';

    GRANT REPLICATION SLAVE ON *.* TO 'root'@'从机IP' IDENTIFIED BY '连接密码';

    FLUSH PRIVILEGES

    上述配置完成后,输入命令:show master status;

    返回结果如果有值,如:

     

    则表示配置完成,继续从库配置

    C. 从库配置,一样开启配置文件,在[mysqld]下配置如下内容:

    注:ignore表示忽略,和主库一致,do-db也和主库一致

    log-bin=mysql-bin

    server-id=3

    binlog-ignore-db=information_schema

    binlog-ignore-db=sys

    binlog-ignore-db=mysql

    replicate-ignore-db=mysql

    replicate-do-db=mytest

    log-slave-updates

    slave-skip-errors=all

    slave-net-timeout=60

    配置完成后,执行:show slave status; 发现并无结果,全部为空

     

    继续操作:

    在从库中尚未配置和谁连接,所以需要执行以下命令:

    mysql> stop slave;  #关闭Slave

    mysql> change master to master_host='192.168.1.1',master_user='root',master_password='123456',master_log_file='mysql-bin.000004', master_log_pos=28125;

    mysql> start slave;  #开启Slave

    注:上面的绿色字需要和主库查出来的参数一致!!!,如主机IP,用户名,密码,file名,pos码等等

     

    在从库中执行:show slave status;观察结果:

     

    至此,配置完成,在主库进行增删改查,包括新建表等等所有操作,在从库都会自动实现复制,同步

    真正实现了主从复制,读写分离

  • 相关阅读:
    Mybatis专栏文章整理成册《Mybatis进阶》!!!
    Mybatis的几种传参方式,你了解吗?
    HDU 1890
    POJ 2186
    HDU 2896
    POJ 1322
    POJ 1276
    POJ 1208
    POJ 1189
    POJ 1178
  • 原文地址:https://www.cnblogs.com/kkzhilu/p/9600615.html
Copyright © 2011-2022 走看看