基于二进制文件的主从复制

基于二进制文件的主从复制1.设置主服务器配置 必须在主服务器上启用二进制日志,因为二进制日志是将更改从主服务器复制到从服务器的基础,如果未启用log-bin,则无法进行复制 复制组内的每个服务器必须配置有唯一的id,此id用

基于二进制文件的主从复制

1.设置主服务器配置
        必须在主服务器上启用二进制日志,因为二进制日志是将更改从主服务器复制到从服务器的基础,如果未启用log-bin,则无法进行复制
        复制组内的每个服务器必须配置有唯一的id,此id用于标识组中的各个服务器,1到2³²-1之间的正整数。
        配置:
   [mysqld] 
   log-bin=mysql-bin 
   server-id=1

代码100分

   注意:在mysql8.0以上版本中,如果没有设置server-id,或server-id为0,则主服务器将拒绝任何从属服务器的链接

 
2.创建用于复制的账户
        每个从服务器都使用MySQL的用户名和密码链接主服务器,因此在主服务器上必须有一个用户账户,已供从服务器链接。
        需要为该账户指定 REPLICATION SLAVE 权限
        SQL:
代码100分    CREATE USER "repl"@"%" IDENTIFIED BY "123456";
    GRANT REPLICATION SLAVE ON *.* TO "repl"@"%";

        注意:mysql8.0以上不支持直接在授予权限的时候指定用户密码
 
3.获取主服务器的二进制日志位置
        要配置从属服务器在正确的位置开始复制过程,您需要在其二进制日志中记下主服务器的当前坐标。此过程需要使用 FLUSH TABLES WITH READ LOCK ,它会阻止innodb表的commit操作,如果计划关闭主数据库以创建数据快照,则可以跳过此过程,而是将二进制日志索引文件的副本与数据快照一起存储。
        步骤:
    • 1.在客户端命令行输入 FLUSH TABLES WITH READ LOCK 如果客户端退出了,则锁将被释放   
    • 2.在主服务器的另一个客户端连接中,使用show master status 确定当前二进制日志文件的名称和位置,file显示日志文件的名称,position列显示日志文件的坐标,记录这些值,稍候在从站的配置中需要用到
                        基于二进制文件的主从复制基于二进制文件的主从复制
 
 
4.创建数据库快照
           如果主数据库包含现有数据,则必须先将数据复制到每个从数据库。
    • 使用mysqldump工具创建要复制的所有数据库的转储 ,可以使用–database table代替–all-database 指定想要导出的数据库
       
      mysqldump -uroot -p  --all-databases --master-data > dbdump.db

    • 使用原始数据文件创建数据快照
代码100分        mysqladmin shutdown    //关闭主服务器
        tar cf /tmp/db.tar ./data 
        zip -r /tmp/db.zip ./data //使用zip或tar打包源数据文件,从服务器要用
        unlock tables //在执行FLUSH TABLES WITH READ LOCK的客户端中执行该命令

 
5.从站设置
       每个从站都必须具有唯一的服务器id——server_id。如果没设置或与主服务器的server_id相同,需要在mysql.ini 或mysql.cnf中设置并指定唯一的server_id,然后重启服务器
    server_id=2 

  如果主服务器已有数据,需要先将数据导入到从服务器
 
  注意:如果没有设置server-id,或server-id为0,则从服务器将拒绝链接到主服务器
       要设置从服务器与主服务器进行通信以完成复制,需要为从服务器配置必要的链接信息。
    CHANGE MASTER TO  
        MASTER_HOST="master_host_name", /**主服务器地址*/
        MASTER_USER="repl",  
        MASTER_PASSWORD="123456",  
        MASTER_LOG_FILE="mybinlog.000021", 
        MASTER_LOG_POS=155;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10304.html

(0)
上一篇 2022-12-29
下一篇 2022-12-29

相关推荐

  • CrateDB分布式数据库[亲测有效]

    CrateDB分布式数据库[亲测有效]今日在portianer后台,查询应用模板时,偶尔看到一个名为CrateDB的数据,顺手查了一下。其中就一一篇标题名为“比Postgre快10倍的开源数据库CrateDB”的文章,第一个感觉,就是口…

    2023-03-08
    169
  • excel如何提括号中的内容不变_excel计算怎么加括号

    excel如何提括号中的内容不变_excel计算怎么加括号如下图,A列单元格中含有括号,现在想要将括号内内容提取到B列中 一、1.在B2单元格输入公式=MID(A2,FIND("("

    2023-03-01
    171
  • 用Python打开文件夹

    用Python打开文件夹在日常工作和生活中,我们经常需要打开电脑里的各种文件夹来获取或创建文件。然而,我们可能需要打开的文件夹数量很大或者频繁地打开同一个文件夹。这时,手动打开文件夹会非常繁琐,影响效率。因此,有必要使用Python来打开文件夹。

    2024-07-13
    48
  • 2016年7月n2真题答案百度文库_2019年11月防沉迷

    2016年7月n2真题答案百度文库_2019年11月防沉迷Choose three. Which three statements are true about a self join? A) It must be an inner join. B) It…

    2022-12-20
    145
  • Python中闭包的使用

    Python中闭包的使用在Python中,闭包是一个函数和其相关的引用环境组合而成的实体。通俗点讲,闭包就是相互嵌套的函数,其中内部函数可以引用外部函数的变量。

    2024-04-20
    82
  • 分库分表shardingjdbc_shardingjdbc分库分表原理

    分库分表shardingjdbc_shardingjdbc分库分表原理1. 分库分表利器 Sharding Sphere 介绍 功能: 数据分片 分库分表 读写分离 分片策略定制 无中心化分布式主键 分布式事务 标准化事务接口 XA 强一致性事务 柔性事务 数据库治理…

    2023-03-25
    154
  • Python列表元素的操作

    Python列表元素的操作a href=”https://beian.miit.gov.cn/”苏ICP备2023018380号-1/a Copyright www.python100.com .Some Rights Reserved.

    2024-03-02
    80
  • Python迭代器:高效遍历数据结构

    Python迭代器:高效遍历数据结构Python是一门非常受欢迎的编程语言,其简洁、易读的代码特性让很多开发者喜欢上了这门语言。在Python中,迭代器是一个非常重要的概念,它是一种高效遍历数据结构的方式,使得开发者可以在代码中使用更简单和更易读的方式处理数据。本文将对Python迭代器做详细的阐述,解释它的原理,如何创建迭代器以及在实际开发中如何使用迭代器。

    2023-12-19
    104

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注