TIDB 修改数据库名有什么好方案

不支持直接修改表名。可以先将数据库的表结构和数据导出到sql中,然后删除表,重新执行下sql即可

删除重新导入

没有搞过这种,一般数据库初期是重建新的再导数据,正式启用之后只有忍了。

新建test_test_db库,然后对esss_db下所有的表改名, 全部改完后,删掉esss_db库

select concat(‘alter table esss_db.’,table_name,’ rename to ess_test_db.‘,table_name,’;') from information_schema.tables where table_schme where table_schema=‘esss_db’

2 个赞

:+1: :+1: :+1:脚本靠谱

可以,挺好的,我咋没想到rename table呢

测试了,可以使用 。

这个靠谱

tidb是兼容mysql的mysql的常规操作就是alter table rename 到新的schema起到该名称的结果

表能重命名,库的话只能新建库再导入了

rename table to different schema

2 个赞

温馨提示一下,flashback database 最好仅仅用于测试环境,生产环境使用之前最好要测试一下,有可能会遇到 entry-size 这个参数的限制。这个也没啥大问题,调参绕过在调回来就行了。

1 个赞

6.5的功能。6.1只能批量rename

好办法,比导出bash修改再导入高效 :+1:

学习了,没想到啊

不支持这个功能

rename database 好像不支持吧,A用户导出,导入到B用户,lightning导入加route规则指定导入到B用户下即可。