zoukankan      html  css  js  c++  java
  • GTID做mysql主从时报错

    今天在做主从同步时,显示slave_IO线程为NO ,并且报如下错误

    Slave_IO_Running: No
    ...
    Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
    

      我们可以从报错信息中发现,显示的是UUID重复,因为我做实验的时候是在一台机器上安装了mysql,然后克隆了三台机器,所以四台机器的UUID重复,那么我们要怎么修改MYSQL server UUID呢?

      首先,我们可以通过如下命令查看机器的UUID

    mysql> select @@server_uuid;
    +-----------------------------------------------+
    | @@server_uuid                                 |
    +-----------------------------------------------+
    | 0d89fdbc-df2a-11e8-9f80-000c296b4958          |
    +-----------------------------------------------+
    1 row in set (0.00 sec)
          
    

      如果发现有机器的UUID重复,那么我们首先可以通过如下的命令生成一个新的UUID,然后去修改配置文件

    mysql> select uuid();
    +--------------------------------------+
    | uuid()                               |
    +--------------------------------------+
    | 09bcda8f-df2d-11e8-9aeb-000c296b4958 |
    +--------------------------------------+
    1 row in set (0.00 sec)
    

      复制UUID ,然后在MYSQL数据目录的数据目录中找到auto.cnf文件,将里面的UUID换成之前生成的UUID,并且重复MySQL服务,即可完成同步。如果忘记数据目录的位置,也可以在数据库中通过如下命令查看。

    mysql> show variables like 'datadir';
    +---------------+--------------+
    | Variable_name | Value        |
    +---------------+--------------+
    | datadir       | /data/mysql/ |
    +---------------+--------------+
    1 row in set (0.03 sec)
    

      希望能帮助到大家。如有任何疑问或者指正,也欢迎留言评论。

  • 相关阅读:
    【.Net】多语言查看MSDN
    【.Net】 显示星期字符串
    【.Net】 判断时间字符串正确性
    【.Net】 实现窗口拖动
    【.Net】 Winform 单例运行实例
    Kendo 计算字段
    Kendo UI 的 k-template
    UpdatePanel中用后台CS代码调用JS代码,先执行控件事件,后触发JS
    SQL常用
    Node.js 安装
  • 原文地址:https://www.cnblogs.com/xll970105/p/9900601.html
Copyright © 2011-2022 走看看