首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL群集-创建新表,但在其他mysql服务器中找不到

MySQL群集-创建新表,但在其他mysql服务器中找不到
EN

Stack Overflow用户
提问于 2022-08-17 02:33:19
回答 1查看 42关注 0票数 0

我已经创建了一个带有的mysql集群。

代码语言:javascript
复制
version: '3.9'
services:
  management:
    image: mysql/mysql-cluster:8.0
    volumes:
       - ./mysql.conf/my.cnf:/etc/my.cnf
       - ./mysql.conf/mysql-cluster.cnf:/etc/mysql-cluster.cnf
       - /etc/localtime:/etc/localtime:ro
    command: ndb_mgmd
    networks:
      mysqlcluster:
        ipv4_address: 172.28.0.1

  ndb1:
    image: mysql/mysql-cluster:8.0
    volumes:
       - ./mysql.conf/my.cnf:/etc/my.cnf
       - ./mysql.conf/mysql-cluster.cnf:/etc/mysql-cluster.cnf
       - /etc/localtime:/etc/localtime:ro
    command: ndbd
    depends_on:
      - "management"
    networks:
      mysqlcluster:
        ipv4_address: 172.28.0.21
  ndb2:
    image: mysql/mysql-cluster:8.0
    volumes:
       - ./mysql.conf/my.cnf:/etc/my.cnf
       - ./mysql.conf/mysql-cluster.cnf:/etc/mysql-cluster.cnf
       - /etc/localtime:/etc/localtime:ro
    command: ndbd
    depends_on:
      - "management"
    networks:
      mysqlcluster:
        ipv4_address: 172.28.0.22
  ndb3:
    image: mysql/mysql-cluster:8.0
    volumes:
       - ./mysql.conf/my.cnf:/etc/my.cnf
       - ./mysql.conf/mysql-cluster.cnf:/etc/mysql-cluster.cnf
       - /etc/localtime:/etc/localtime:ro
    command: ndbd
    depends_on:
      - "management"
    networks:
      mysqlcluster:
        ipv4_address: 172.28.0.23
  ndb4:
    image: mysql/mysql-cluster:8.0
    volumes:
       - ./mysql.conf/my.cnf:/etc/my.cnf
       - ./mysql.conf/mysql-cluster.cnf:/etc/mysql-cluster.cnf
       - /etc/localtime:/etc/localtime:ro
    command: ndbd
    depends_on:
      - "management"
    networks:
      mysqlcluster:
        ipv4_address: 172.28.0.24

  mysql1:
    image: mysql/mysql-cluster:8.0
    ports:
      - "2201:3306"
    volumes:
       - ./mysql.conf/my.cnf:/etc/my.cnf
       - ./mysql.conf/mysql-cluster.cnf:/etc/mysql-cluster.cnf
       - /etc/localtime:/etc/localtime:ro
       - ./data/mysql1:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: example
      MYSQL_DATABASE: bdteste
      MYSQL_USER: teste
      MYSQL_PASSWORD: teste
      MYSQL_ROOT_HOST: '%'
    command: mysqld
    depends_on:
      - "management"
      - "ndb1"
      - "ndb2"
      - "ndb3"
      - "ndb4"
    networks:
      mysqlcluster:
        ipv4_address: 172.28.0.11

  mysql2:
    image: mysql/mysql-cluster:8.0
    ports:
      - "2202:3306"
    volumes:
       - ./mysql.conf/my.cnf:/etc/my.cnf
       - ./mysql.conf/mysql-cluster.cnf:/etc/mysql-cluster.cnf
       - /etc/localtime:/etc/localtime:ro
       - ./data/mysql2:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: example
      MYSQL_DATABASE: bdteste
      MYSQL_USER: teste
      MYSQL_PASSWORD: teste
      MYSQL_ROOT_HOST: '%'
    command: mysqld
    depends_on:
      - "management"
      - "ndb1"
      - "ndb2"
      - "ndb3"
      - "ndb4"
    networks:
      mysqlcluster:
        ipv4_address: 172.28.0.12

  mysql3:
    image: mysql/mysql-cluster:8.0
    ports:
      - "2203:3306"
    volumes:
       - ./mysql.conf/my.cnf:/etc/my.cnf
       - ./mysql.conf/mysql-cluster.cnf:/etc/mysql-cluster.cnf
       - /etc/localtime:/etc/localtime:ro
       - ./data/mysql2:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: example
      MYSQL_DATABASE: bdteste
      MYSQL_USER: teste
      MYSQL_PASSWORD: teste
      MYSQL_ROOT_HOST: '%'
    command: mysqld
    depends_on:
      - "management"
      - "ndb1"
      - "ndb2"
      - "ndb3"
      - "ndb4"
    networks:
      mysqlcluster:
        ipv4_address: 172.28.0.13

  adminer:
    image: adminer
    restart: always
    ports:
      - 8888:8080
    links:
      - mysql1:db
    networks:
      mysqlcluster:

networks:
 mysqlcluster:
  driver: bridge
  ipam:
   config:
    - subnet: 172.28.0.0/16
      gateway: 172.28.5.254

所有的跑步和工作都很好:

代码语言:javascript
复制
bash-4.4# ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: 172.28.0.1:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 6 node(s)
id=21   @172.28.0.21  (mysql-8.0.30 ndb-8.0.30, Nodegroup: 0, *)
id=22   @172.28.0.22  (mysql-8.0.30 ndb-8.0.30, Nodegroup: 0)
id=23   @172.28.0.23  (mysql-8.0.30 ndb-8.0.30, Nodegroup: 1)
id=24   @172.28.0.24  (mysql-8.0.30 ndb-8.0.30, Nodegroup: 1)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @172.28.0.1  (mysql-8.0.30 ndb-8.0.30)

[mysqld(API)]   4 node(s)
id=11   @172.28.0.11  (mysql-8.0.30 ndb-8.0.30)
id=12   @172.28.0.12  (mysql-8.0.30 ndb-8.0.30)

在客户端上,我在172.28.0.11上创建了新的数据库和新的表,我正在插入新的行,所有这些都很好。但是,如果连接到172.28.0.12数据库,但存在空表,则在172.28.0.11上创建的新表在172.28.0.12上没有检测到。

有什么建议吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-17 05:52:08

抱歉这是我的错。以文件为基础

https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-install-example-data.html

我们必须用ENGINE=NDBCLUSTER创建表

在我用ENGINE=NDBCLUSTER重新创建所有表之后,每个mysql服务器现在都同步该表。谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73382297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档