Mysql主从复制注意事项的讲解

一、报错error connecting to master 'x@x.x.x.x:x' - retry-time: 60  retries: 86400

今天搭建mysql主从复制,一直报这个错。我是在一台虚拟机上使用多实例创建的2个不同端口的数据库,查了很久,才解决。

1.检查主从复制的用户名密码;

2.检查MASTER_LOG_FILE和MASTER_LOG_POS。

记住配置从库的命令,这些参数都要参考主库的配置:

mysql> CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=3308, MASTER_USER='root', MASTER_PASSWORD='oldboy123', MASTER_LOG_FILE='mysql-bin.000007', MASTER_LOG_POS=797;

查询同步结果:

mysql> show slave status \G
*************************** 1. row ***************************
        Slave_IO_State: Waiting for master to send event
         Master_Host: 127.0.0.1
         Master_User: root
         Master_Port: 3308
        Connect_Retry: 60
       Master_Log_File: mysql-bin.000007
     Read_Master_Log_Pos: 797
        Relay_Log_File: mysql-relay-bin.000002
        Relay_Log_Pos: 253
    Relay_Master_Log_File: mysql-bin.000007
       Slave_IO_Running: Yes
      Slave_SQL_Running: Yes
       Replicate_Do_DB:
     Replicate_Ignore_DB:
      Replicate_Do_Table:
    Replicate_Ignore_Table:
   Replicate_Wild_Do_Table:
 Replicate_Wild_Ignore_Table:
          Last_Errno: 0
          Last_Error:
         Skip_Counter: 0
     Exec_Master_Log_Pos: 797
       Relay_Log_Space: 409
       Until_Condition: None
        Until_Log_File:
        Until_Log_Pos: 0
      Master_SSL_Allowed: No
      Master_SSL_CA_File:
      Master_SSL_CA_Path:
       Master_SSL_Cert:
      Master_SSL_Cipher:
        Master_SSL_Key:
    Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
        Last_IO_Errno: 0
        Last_IO_Error:
        Last_SQL_Errno: 0
        Last_SQL_Error:
 Replicate_Ignore_Server_Ids:
       Master_Server_Id: 3308

同步结果看3项:Slave_IO_Running(I/O线程状态),Slave_SQL_Running(SQL线程状态),Seconds_Behind_Master(复制过程中从库比主库延迟的秒数)。

二、从库出现冲突无法复制。可以将同步指针向下移动一个,如果多次不同步,重复操作。

mysql> stop slave;
Query OK, 0 rows affected (0.02 sec)
mysql> set global sql_slave_skip_counter=1;
Query OK, 0 rows affected (0.00 sec)
mysql> start slave;
Query OK, 0 rows affected (0.01 sec)

三、当前从库还要作为其他从库的主库。在从库的my.cnf加入如下参数,并修改server_id和log-bin的配置(去掉注释,修改默认配置),重启服务。

log-slave-updates
log-bin = /data/3309/data/mysql-bin #根据实际情况写
expire_logs_days = 7 #相当于find /data/3309/data -type f -name "mysql-bin.000* -mtime +7 | xargs rm -f"

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 深入理解MySQL主从复制线程状态转变

    前言 MySQL的主从复制的基本原理是从库连接到主库,主库生成一个主库DUMP线程,该DUMP线程的主要任务是 一直挖掘binlog日志,然后发送到从库的IO线程,IO线程接收到日志流后,写入relay log,另一个线 程SQL线程,会读取该relay log内容,然后对sql语句进行重放. 本文主要给大家介绍的是关于MySQL主从复制线程状态转变的相关内容,下面话不多说了,来一起看看详细的介绍吧 一.主库线程状态(State)值 以下列表显示了主从复制中主服务器的Binlog Dump线程的

  • MySQL数据库主从复制延时超长的解决方法

    前言 MySQL主从复制的延时一直是业界困扰已久的问题.延时的出现会降低主从读写分离的价值,不利于数据实时性较高的业务使用MySQL. UDB是UCloud推出的云数据库服务,上线已达六年,运营了数以万计的UDB MySQL实例.除了提供高可用.高性能.便捷易用的产品特性,团队还平均每天帮助用户解决2-3起MySQL实例主从复制延时的问题.从大量实践中我们总结了主从复制延时的各种成因和解决方法,现分享于此. 延时问题的重要性 主从复制机制广泛应用在UDB的内部实现中:UDB创建的从库和主库就采用

  • MYSQL 完全备份、主从复制、级联复制、半同步小结

    mysql 完全备份 1,启用二进制日志,并于数据库分离,单独存放 vim /etc/my.cnf 添加 log_bin=/data/bin/mysql-bin 创建/data/bin文件夹并授权 chown mysql.mysql /data/bin 2,完成备份数据库 mysqldump -A --single-transaction --master-data=2 | xz > /data/all.sql.xz 3,对数据库进行增删改 INSERT hellodb.students(stu

  • MySQL配置SSL主从复制

    MySQL5.6 创建SSL文件方法 官方文档:https://dev.mysql.com/doc/refman/5.6/en/creating-ssl-files-using-openssl.html#creating-ssl-files-using-openssl-unix-command-line Create clean environment mkdir /home/mysql/mysqlcerts && cd /home/mysql/mysqlcerts Create CA c

  • MYSQL的主从复制知识点整理

    当单台MYSQL服务器无法满足当前网站流量时的优化方案.需要搭建mysql集群技术. 一.功能: 当向主服务器插入|修改|删除数据时,数据会自动同步到从服务器. 注意:主从复制是单向的,只能主 -> 从 分为两种类型:发射型(一主多从):一般使用在:备份.读写分离. 环形(多主多从):一般使用:当主服务器压力大时.跨地区的网站实现数据同步 在环形结构中,如果同时向三台服务器的同一表插入记录会出现"ID冲突的问题". 解决办法:让三台服务器生成不同的ID: 第一台:1,4,7...

  • Mysql主从复制作用和工作原理详解

    一.什么是主从复制 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库,主数据库一般是准实时的业务数据库.在最常用的mysql数据库中,支持单项.异步赋值.在赋值过程中,一个服务器充当主服务器,而另外一台服务器充当从服务器:此时主服务器会将更新信息写入到一个特定的二进制文件中. 并会维护文件的一个索引用来跟踪日志循环.这个日志可以记录并发送到从服务器的更新中去.当一台从服务器连接到主服务器时,从服务器会通知主服务器从服务器的日志文件中读取最后一次成功更新的位置.然后从服务器会接

  • Mysql主从复制注意事项的讲解

    一.报错error connecting to master 'x@x.x.x.x:x' - retry-time: 60  retries: 86400 今天搭建mysql主从复制,一直报这个错.我是在一台虚拟机上使用多实例创建的2个不同端口的数据库,查了很久,才解决. 1.检查主从复制的用户名密码: 2.检查MASTER_LOG_FILE和MASTER_LOG_POS. 记住配置从库的命令,这些参数都要参考主库的配置: mysql> CHANGE MASTER TO MASTER_HOST=

  • 详解Docker方式实现MySql 主从复制(实践篇)

    本文实践了用Docker方式来实现基于binlog的MySql主从复制.关于MySql主从复制的原理将在下一篇中进行讲解. 一些数据的本地存储目录结构 mysql >tree -L 2 . ├── data │ ├── master01 │ └── slave01 ├── master01 │ └── master01.cnf └── slave01 └── slave01.cnf master01.cnf配置 [mysqld] log-bin=mysql-master01-bin # 使用bi

  • CentOS服务器平台搭建mysql主从复制与读写分离的方法

    本文实例讲述了CentOS服务器搭建mysql主从复制与读写分离的方法.分享给大家供大家参考,具体如下: mysql 主从复制的优点: ① 如果主服务器出现问题, 可以快速切换到从服务器提供的服务,保证高可用性 ② 可以在从服务器上执行查询操作, 降低主服务器的访问压力 ③ 可以在从服务器上执行备份, 以避免备份期间影响主服务器的服务 注意事项: ① server-id必须唯一,一般使用ip的后三位 ② 从库Slave_IO_Running:NO 可能原因:帐号无权限操作 ③ Can't exe

  • MySQL主从复制与读写分离原理及用法详解

    本文实例讲述了MySQL主从复制与读写分离原理及用法.分享给大家供大家参考,具体如下: 主从复制 概念 影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中. 假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL-A的3306端口,通过网络发给MYSQL-B. MYSQL-B收到后,写入本地日志系统B,然后一条条的将数据库事件在数据库中完成. 那么,MYSQL-A的变化,MYSQL-B也会变化,这样就是所谓的MYSQL的复制,即MYSQL replication.

  • MySQL主从复制原理以及需要注意的地方

    写在前面 最近在写Mycat专题,由于不少小伙伴最近要出去面试,问我能不能简单写下MySQL的主从复制原理和注意事项,因为在之前的面试中被问到了这些问题.我:可以啊,安排上了!! 主从复制原理 (1) Master 将数据改变记录到二进制日志(binary log)中,也就是配置文件 log-bin 指定的文件, 这些记录叫做二进制日志事件(binary log events): (2) Slave 通过 I/O 线程读取 Master 中的 binary log events 并写入到它的中继

  • MySQL数据库约束操作示例讲解

    目录 一.约束是什么 二.约束的具体操作 Not NULL UNIQUE 约束的组合使用 PRIMARY KEY DEFAULT FOREIGN KEY 一.约束是什么 约束就是,在创建表的时候,对表设置一些规则,只有满足这些规则,才可以插入数据,我们把这些规则叫做约束 常见的约束有: 约束类型 规则 Not Null 指定某列不能存储NULL值 UNIQUE 保证某列的每行必须有唯一的值 DEFAULT 给没有赋值的列赋默认值 PRIMARY KEY Not NULL 与 UNIQUE的结合,

  • MySQL索引设计原则深入分析讲解

    哪些情况适合创建索引? 字段的数值有唯一性的限制 索引本身可以起到约束的作用,比如唯一索引,主键索引都是可以起到唯一性约束的,因此在我们的数据表中如果某个字段是唯一性的,就可以直接创建唯一性索引,或者主键索引.这样可以更快速地通过该索引来确定某条记录. 业务上具有唯一特性的字段,即使是组合字段,也必须建成唯一索引.(来源:Alibaba) 说明:不要以为唯一索引影响了 insert 速度,这个速度损耗可以忽略,但提高查找速度是明显的. 频繁作为 WHERE 查询条件的字段 某个字段在SELECT

  • ASP.NET操作MySql数据库的实例代码讲解

    一.把MySql.Data.dll放到BIN目录下. 二.这是aspx.cs的全部源码,修改参数直接运行即可!   using MySql.Data.MySqlClient; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; publ

  • 详解MySQL主从复制读写分离搭建

    MySQL主从设置 MySQL主从复制,读写分离的设置非常简单: 修改配置my.cnf文件 master 和 slave设置的差不多: [mysqld] log-bin=mysql-bin server-id=222 log-bin=mysql-bin的意思是:启用二进制日志. server-id=222的意思是设置了服务器的唯一ID,默认是1,一般取IP最后一段,可以写成别的,只要不和其他mysql服务器重复就好. 这里,有的MySQL默认的my.cnf文件引用了/etc/mysql/conf

  • Mysql主从复制(master-slave)实际操作案例

    在这一章节里, 我们来了解下如何在 Mysql 中进行用户授权及主从复制   这里先来了解下 Mysql 主从复制的优点:   1. 如果主服务器出现问题, 可以快速切换到从服务器提供的服务 2. 可以在从服务器上执行查询操作, 降低主服务器的访问压力 3. 可以在从服务器上执行备份, 以避免备份期间影响主服务器的服务 注意一般只有更新不频繁的数据或者对实时性要求不高的数据可以通过从服务器查询, 实时性要求高的数据仍然需要从主数据库获得   在这里我们首先得完成用户授权, 目的是为了给从服务器有

随机推荐