首页 文章

如何删除本地数据库,但将ndbcluster表保留在NDB集群中

提问于
浏览
0

我有以下情况,但没有可能进行测试 . 会感谢你的建议 .

A)MySQL服务器的本地主机(旧的mysql 5.0)

A.1)这个MySQL服务器有几个数据库

A.2)其中一个数据库包含一些innoDB表,还包含一些“ndbcluster”(ENGINE = ndbcluster)表 .

B)远程NDB集群,在A)本地主机上使用了大量数据

我的目标是缩小本地主机上的DB(删除tabledata文件) . 为此,我将删除所有数据库,然后删除物理数据库文件 . 然后,将innodb_file_per_table添加到my.cnf并启动MySQL服务器 .

问题:

1)AFAIK当我执行DROP DATABASE db_name时,它首先删除DB中的所有表 . 如何确保在删除数据库时,远程NDB集群内的表/数据不受影响(由其他类似的本地服务器使用)?

2)当我将转储(它将重新创建已删除的数据库)插入刷新的本地MySQL服务器时,它是否会自动添加/连接NDB集群中的ndbcluster表?

本地my.cnf有以下几行:ndbcluster ndb-connectstring =“nodeid = 35,1.2.64.69,1.2.64.70”

3)我是否真的需要删除所有数据库以删除物理文件并在每个表模式下在文件夹中重新创建数据库?

2 回答

  • 0

    为了确保我没有触及NDB表,我跳过了删除虚拟数据库 . 所以,程序简要地看起来像这样:

    • 转储mysql数据库和其他重要的数据库

    • 停止MySQL服务

    • 移动/删除db文件:

    cd / var / lib / mysql / && rm -f ib_logfile0 ib_logfile1 tablespace1 tablespace2

    • 重新初始化mysql并添加root用户(因为它无法正常启动):

    cd / var / lib / mysql && mysql_install_db

    • 启动mysql服务器

    • 使用没有密码的默认root用户插入mysql db(来自dump) .

    • 使用旧(已还原)用户插入其他数据库 .

    插入包含NDB表的数据库时,将自动连接NDB表 .

  • 0

    DROP DATABASE将删除数据库中的所有表,包括InnoDB和NDB . 因此,如果要保留NDB表,则必须逐个表删除 .

    不确定与InnoDB有关的答案 .

相关问题