MYSQL数据库中的主从级联复制的实现

主服务ip:192.168.1.107
级联服务ip:192.168.1.110
从服务ip:192.168.1.106

一.主服务器设置:

1.修改配置文件

   vim /etc/my.cnf
     server_id=1    设置主服务的id
     log_bin=/data/binlog/bin    开启并设置二进制日志文件路径,建议单独磁盘存放
     bin_log_format=row  设置二进制日志记录方式为行记录方式,此记录更全面
     innodb_file_per_table    每个表单独一个文件,查找起来更方便
     .
     .
     .   

2.重启服务并授权

         启动服务器
              ~]# systemctl start mariadb
         以默认方式登录数据库命令行,无需密码登录
              ~]# mysql
         给此网段的从服务器主机授予复制权限
                ]> grant replication slave on*.* to [email protected]‘192.168.1.%‘ identified by ‘centos‘;
        查看主服务管理的二进制日志文件列表及大小 ,记录下来作为级联服务器的更新位置
                ]> show master|binary logs;  

二.级联服务器设置:

1.修改配置文件

   vim /etc/my.cnf
     server_id=2    设置主服务的id
     read_only          设置为只读模式
     log_bin=/data/binlog/bin    开启并设置二进制日志文件路径,建议单独磁盘存放
     log_slave_updates    开启级联功能,能够将主服务的数据复制过程记录到本机的二进制日志文件中,在复制给从服务器
     .
     .  

2.启动服务并设置主从连接

        启动服务
                ~]# systemctl start mariadb
        进入mysql数据库命令行
                 ~]# mysql
        添加主服务
              ]>  change master to
                    master_host=‘192.168.1.107‘,
                    master_user=‘centos‘,
                    master_password=‘centos‘,
                    master_log_file=‘bin.000001‘,
                    master_log_pos=245;
         查看其主从详细信息,可以看到 IO 和 SQL两个进程未开启
                     ]> show salve status\G;
         开启主从服务后,可以看到两个进程已开启,可以进行主从服务了
                     ]> start salve;
         查看级联服务器管理的二进制日志文件列表及大小 ,记录下来作为从服务器的更新位置
                     ]> show master|binary logs;  

三.设置从服务器:

1.修改从服务配置文件

        vim /etc/my.cnf
        server_id=3
        read_only
        .
        .
        .    

2.开启服务并设置主从连接,此时的主应设为级联服务器

           开启服务
                     ~]# systemctl  start mariadb
                     进入数据库命令行
                     ~]# mysql
                       ]> change master to
                    master_host=‘192.168.1.110‘,
                    master_user=‘centos‘,
                    master_password=‘centos‘,
                    master_log_file=‘bin.000001‘,
                    master_log_pos=245;
                       ]> show  slave status\G;
                         ]> start slave;     

四.主从级联复制建立完成

                           copy             copy
                主服务   →   级联服务   →   从服务

原文地址:https://blog.51cto.com/14234542/2391996

时间: 2024-10-17 10:30:39

MYSQL数据库中的主从级联复制的实现的相关文章

MySQL的3节点主从同步复制方案测试

上接<MySQL的3节点主从同步复制方案> 六.测试主从同步复制 现在我们来测试下,mysql的主从同步. 1.在主库插入测试数据 先在主库MasterA 上给m_s_rep数据库插入和删除2条数据.如下: mysql> insert into test(id,content) values(3,'data3'); mysql> insert into test(id,content) values(2,'data2'); mysql> select * from test;

MySQL数据库中的算术运算符

MySQL数据库中的算数运算符 MySQL数据库中的算术运算符 一.运算符的概述: 运算符在MySQL数据库中也是很重要的知识体,在执行sql语句的时候这个运算符对操作数据帮助很大.其中运算符的运用可以帮助你减省大量的时间,操作起来也比较灵活. 二.运算符 运算符主要包括"算数运算符"."比较运算符"."罗运算符"."位运算符"四大类,下面我们就一次学习一下. 1.算术运算符 算术运算符在sql语句的时候经常使用,例如对表的字

查看MYSQL数据库中所有用户及拥有权限

查看MYSQL数据库中所有用户 mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; 查看数据库中具体某个用户的权限mysql> show grants for 'cactiuser'@'%';

从SQLSERVER/MYSQL数据库中随机取一条或者N条记录

原文:从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 很多人都知道使用rand()函数但是怎麽使用可能不是每个人都知道 建立测试表 USE [sss] GO CREATE TABLE RANDTEST(ID INT DEFAULT RAND()*100,NAME NVARCHAR(200) DEFAULT 'nihao') GO CREATE INDEX IX_RANDTEST_ID ON RANDTEST(ID)

mySQl数据库中不能插入中文的处理办法

1. 修改MySQL安装目录下(C:\Program Files\MySQL\MySQL Server 5.5)的my.ini文件 设置: default-character-set=utf8 character-set-server=utf8 然后重启MySQL服务,MySQL 没有重启的命令,要先停止,然后再启动.开始 -> cmd -> net stop mysql -> net start mysql 2.设置表的编码格式,执行;alter table ttname CONVER

如何将一个数据库中的一个表复制到另一个数据库中的表中

如何将一个数据库中的一个表复制到另一个数据库中的表中 2013-09-11 17:13匿名 | 浏览 13763 次 如何将一个数据库中的一个表复制到另一个数据库中的表中两个表的列名不同.有知道的么?SQL语句直接导过去.! 2013-09-12 20:26网友采纳 热心网友 如果另一个库中没有同名的表select * into b数据库.dbo.a表 from a数据库.dbo.a表 where 条件 如果是追加到另一个表中inert into b数据库.dbo.a表select * from

JDBC远程从一个MySql数据库中的一张表里面读出数据(这个数据库需要用SSH隧道连接,大约8W条数据),然后分别插入到另一个数据库中的两张表里

package com.eeepay.lzj.db; import java.sql.Connection; import java.sql.Date; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import com.jcraft.jsch.JSch; import com.jcraft.jsc

JMS消息持久化,将ActiveMQ消息持久化到mySql数据库中

ActiveMQ5.8.0版本采用kahadb作为默认的消息持久化方式.使用默认的持久化机制,我们不容易直接看到消息究竟是如何持久的.ActiveMQ提供的JDBC持久化机制,能够将持久化信息存储到数据库.通过查看数据库中ActiveMQ生成的表结构和存储的数据,能够帮助我们更好的了解消息的持久化机制.现在介绍如何配置activemq,将数据持久化到mysql中. 1.配置activeMQ需要的mySql数据源 为了能够使用JDBC访问mysql数据库,显然必须要配置消息服务器的数据库源.在ac

JMS服务器ActiveMQ的初体验并持久化消息到MySQL数据库中

JMS服务器ActiveMQ的初体验并持久化消息到MySQL数据库中 一.JMS的理解JMS(Java Message Service)是jcp组织02-03年定义了jsr914规范(http://jcp.org/en/jsr/detail?id=914),它定义了消息的格式和消息传递模式:消息包括:消息头,消息扩展属性和消息体,其结构看起来与SOAP非常的相似,但一般情况下,SOAP主要关注远程服务调用,而消息则专注于信息的交换:消息分为:消息生产者,消息服务器和消息消费者.生产者与消费者之间