`

MySQL主从服务器的原理和设置

 
阅读更多

一 主从配置的原理 
    mysql的Replication是一个异步的复制过程,从一个mysql instance(Master)复制到另一个mysql instance(Slave), 在master与slave之间的整个复制过程主要由三个线程完成,分别为Master端得IO线程和Slave端得IO线程和Sql线程。整 
个过程如下: 
    1 Slave上的IO线程连接上Master,并请求从指定日志的指定位置之后的日志内容 
    2 Master收到来自Slave的IO线程请求后,通过Master上的IO线程根据请求信息读取日志信息返回给Slave端IO线程。 
      除了日志所包含的信息之外,还包含本次返回信息在Master端得Binary Log文件的名称以及位置 
    3 Slave的IO线程接收到信息后,将接收到的日志内容依次写到Slave端得RelayLog文件末尾,并读取Master端得Binary 
      Log文件名和位置记录到master-info中,以便下次的IO请求 
    4 Slave的Sql线程检测到Relay Log中有新增内容后,马上解析可执行的Sql语句,并在本机上执行

二 设置过程 
1 首先准备两台服务器:主服务器wwwlinuxidc.com 从服务器www.linuxidc.net


2 在主数据库服务器中为从服务器添加一个拥有访问主库的用户,其命令为:

 GRANT REPLICATION SLAVE ON *.* TO ‘username’@’www.linuxidc.net’ IDENTIFIED BY 'password'

  注: username是你创建的可以访问主库的用户名,IP为从机IP,password为用户登录密码 
      添加后在从服务器上用 mysql -hwwwlinuxidc.com -uusername -ppassword 来测试下是否可以访问主数据库

3 修改主服务器的配置文件 
   vi /etc/my.cnf 
   server-id = 1  ##数据库服务器都有唯一的server-id,通常主服务器制定为1,www.linuxidc.com默认的配置文件中已经存在,特别注意从服务器配置中要将此行注释掉 
   log-bin=mysql-bin ##mysql进行主从复制是通过二进制的日志文件来进行的,所以必须开启mysql的日志功能 
   以上两行配置都已经存在,还需额外添加如下配置: 
   log_bin = /home/mysql/mysql/log/mysql-bin.log #二进制文件存放目录,www.linuxidc.com可自行定义,但需注意目录有写权限 
   read-only = 0 #主机读写都可以 
   binlog-do-db = test1 #设定同步的数据库,多库可以多行设置 
   binlog-do-db = test2 
   binlog-ignore-db = test3 #设定不用同步的数据库,多库可以多行设置 
   binlog-ingore-db = test4 17jquery.com

4 修改从服务器的配置文件 
   vi /etc/my.cnf 
   首先找到server-id = 1 这行,用#将这行注释掉,不然会和主机冲突,然后添加 
   server-id = 2 
   replicate-do-db = test1 #允许同步的数据库,多库可以多行设置 
   replicate-do-db = test2 
   replicate-ignore-db = test3 #不需同步的数据库,多库可以多行设置 
   replicate-ignore-db = test4 
   master-connect-retry=30 
   master-host= wwwlinuxidc.com #主服务器地址 
   master-user=username #刚刚添加访问主服务器的用户名 
   master-password=password #主机密码 
   master-port=3306 
   read-only=1 #只允许读操作(连接用户不能有SUPER权限,否则无效) 
5 重启主服务器和从服务器 
  在主服务器上登录mysql 输入

show master status\G  
可查看主服务器状态 
  在从服务器上登录

mysql start slave 
(启动从机) 然后show slave  status \G ,如果以下两项都为yes即是从机配置成功。 
     Slave_IO_Running: Yes 
     Slave_SQL_Running: Yes 
  
  从数据库服务器的通常操作命令有: 
  start slave;  ####启动复制线程 
  stop slave;   ####停止复制线程 
  reset slave;  ####重置复制线程 
  change master to; ###动态改变到主服务器的配置 如change master to master_user='username';

 

转自:

http://www.lupaworld.com/home-space-uid-263077-do-blog-id-243759.html

分享到:
评论

相关推荐

    linux运维学习笔记:MySQL主从复制原理和实战.pdf

    在开始讨论MySQL主从复制的原理和实战之前,我们需要了解其重要性。主从复制的主要作用是保证数据安全性和服务的持续运行。当主数据库发生故障时,从数据库可以接管业务,保证服务的连续性。同时,通过将数据复制到...

    MySQL主从复制原理 _ 异步复制 _ 半同步复制 _ GTID复制.pdf

    MySQL主从复制是一种重要的数据库高可用性和数据冗余策略,它允许数据从一个主服务器(Master)实时或近实时地复制到一个或多个从服务器(Slave)。这种技术在分布式系统、高并发应用以及数据安全等领域有着广泛的...

    MySQL 主从原理、问题、解决方案和应用——丁奇.pdf

    MySQL主从同步过程中可能会遇到“延迟”问题,即从服务器未能及时跟上主服务器的更新速度,导致数据不一致。主要原因包括: 1. **主库更新多线程:** 主服务器可能同时执行多个写操作,而从服务器默认情况下只使用...

    MySQL主从复制架构原理与配置实践

    ### MySQL主从复制架构原理与配置实践 #### 一、MySQL主从复制概述 MySQL主从复制是一种常用的技术手段,用于提高数据库系统的可用性、扩展性和数据安全性。它通过将一个MySQL实例(主服务器)的数据实时复制到一...

    MySQL主从同步配置过程.docx

    MySQL 主从同步配置过程 一、 MySQL 主从同步配置概述 MySQL 主从同步配置是指将 MySQL 数据库的数据从一台服务器(主服务器...通过配置主从服务器和同步进程,可以实现数据的实时同步,提高系统的整体性能和安全性。

    mysql 主从数据库服务器的设置.docx

    ### MySQL主从数据库服务器设置详解 #### 一、MySQL主从复制原理简介 MySQL的主从复制机制是一种数据同步方式,允许将一个MySQL服务器(主服务器)的数据自动复制到一个或多个其他MySQL服务器(从服务器)。这种...

    mysql主从数据库配置

    MySQL主从数据库配置是数据库高可用性和负载均衡的重要实践,它允许数据从一个主数据库(Master)异步复制到一个或多个从数据库(Slave)。这种配置对于处理大规模数据操作和保证数据一致性至关重要。 主从复制的...

    MySQL主从配置详解.pdf

    综上所述,MySQL主从配置的原理是通过二进制日志的记录和复制过程,实现数据在主从服务器之间的同步。配置MySQL主从复制可以带来许多好处,如分散查询负载、提升查询效率、数据备份和读写分离等,但同时也需要注意...

    MySQL 主从原理、问题、解决方案和应用-淘宝大牛丁奇

    综上所述,通过理解MySQL主从同步的基本原理、识别潜在的问题,并采取相应的解决方案,可以有效提升系统的稳定性和性能。无论是采用多线程更新还是引入Transfer这样的工具,都能够显著改善主从同步的效率。

    线上经验谈MySQL主从切换的一般步骤

    首先,我们需要了解MySQL主从复制的基础原理。主从复制是MySQL的一种异步复制方式,通过日志(binlog)来实现。主服务器上的所有更改都会被记录到binlog,然后这些日志会被传输到从服务器,并在从服务器上重放,从而...

    MySQL主从复制原理架构部署

    在MySQL主从复制原理架构中,数据的变化首先被记录在master服务器的二进制日志(binary log)中。每一个修改数据库的语句,如INSERT、UPDATE、DELETE等,都会作为二进制日志事件被记录下来。然后,一个或多个slave...

    MySQL 主从复制模式全面实践

    部署MySQL主从复制首先需要准备相应的硬件和网络环境,包括主从服务器的主机名、IP地址、系统版本和MySQL版本。其次,需要在主服务器上启用二进制日志,并配置server-id以标识不同的数据库服务器。根据需要复制的...

    如何实现MySQL的主从复制和半同步复制

    MySQL主从复制是指在一个MySQL集群中,数据在主服务器上写入后,会被自动复制到一个或多个从服务器上。这种复制模式分为三个主要阶段:日志记录、网络传输和应用更改。 1. **日志记录**:在主服务器上,所有事务在...

    MySQL_主从原理问题解决方案和应用

    ### MySQL主从同步原理、问题、解决方案与应用详解 #### 一、MySQL主从同步基本流程 MySQL的主从同步机制是一种数据复制技术,用于在多个数据库服务器间保持数据的一致性。它允许数据从主服务器(Master)自动复制...

    mysql主从同步配置

    MySQL主从同步是一种数据库复制技术,它允许数据从一个MySQL服务器(称为“主服务器”)实时复制到另一个或多个服务器(称为“从服务器”)。这种配置对于数据备份、负载均衡和高可用性至关重要。在Java开发中,了解...

    mysql 主从 数据同步

    #### 一、MySQL主从复制原理及配置步骤 **主从复制**是MySQL的一项重要特性,它允许用户将一台MySQL服务器(主服务器)的数据实时复制到另一台或多台MySQL服务器(从服务器)。这种机制不仅能够实现数据冗余和灾难...

    Mysql主从复制&半同步复制原理.pdf

    MySQL主从复制与半同步复制是两种常见的数据复制策略,各有优缺点。主从复制提供简单的异步复制,易于部署,但可能存在数据不一致的风险。半同步复制在一定程度上解决了这个问题,牺牲了一定的性能以换取更高的数据...

Global site tag (gtag.js) - Google Analytics