分布式数据库主从配置(MySQL)

111 阅读2分钟

分布式数据库主从配置(MySQL)

​ **注意:默认已经安装了mysql,安装教程详见我的另一篇博客[springboot项目部署到阿里云服务器(centos7)](springboot项目部署到阿里云服务器(centos7) - 掘金 (juejin.cn))

我的主数据库和从数据库分别放在一个云服务器上,如果只有一个云服务器大家可以再电脑本机安装一个MySQL,需要注意的是 Windows系统下需要修改的配置文件为my.in

1.主数据库配置

  • 修改my.cnf文件

    vim /etc/my.cnf
    
    • 添加如下内容

      server-id=1  #服务器ID,任意一个整数
      log-bin=mysql-bin  #开启日志记录
      binlog-do-db=db_test  #只同步配置到这个数据库,如果复制多个数据库,重复设置这个选项即可
      
    • 如图所示

    在这里插入图片描述

  • 重启MySQL

    systemctl restart mysqld
    
  • 登录MySQL,测试配置是否成功

    • 登录MySQL

      mysql -uroot -p
      
    • 创建对应的数据库(与配置文件中的保持一致:bindlog-do-db=db_test)

      create database db_test
      
    • 检查主库状态,如下图所示,则配置成功

      show master status
      

    在这里插入图片描述

2.从数据库配置

  • 修改my.cnf文件

    vim /etc/my.cnf
    
    
  • 添加如下内容

    server-id=2  #服务器ID,任意一个整数,和主库不同即可
    
  • 如图所示

    在这里插入图片描述

  • 重启MySQL

    systemctl restart mysqld
    
    
    
    
  • 登录MySQL,测试配置是否成功

    • 登录MySQL

      mysql -uroot -p
      
    • 创建对应的数据库(与主数据库配置文件中的保持一致:bindlog-do-db=db_test)

      create database db_test
      
    • 依次执行如下命令

      stop slave
      

      注意:具体内容需要自己填

      change master to 
      master_host='主数据库服务器IP',
      master_user='主数据库用户名',
      master_password='主数据库密码',
      master_log_file='mysql-bin.000005', #与图2 File值保持一致
      master_log_pos=322; #与图2 Position值保持一致
      
      start slave
      
      show slave status
      
      • 如果出现两个Yes则配置成功(如下图所示)

      在这里插入图片描述

  • 检测结果

    在主数据库的db_test数据库任意创建一个数据库表,再添加几条测试数据,会发现从数据库会自动创建相应的数据库表和数据