我想rename database 如何实现

我想修改database名字,如何实现。

1、CREATE DATABASE new_db_name;
2、RENAME TABLE db_name.table1 TO new_db_name.table1;
3、DROP DATABASE db_name;

迂回战术,哈哈哈

参考这个:

先创建db,然后直接dump过去呗

1 先创建新库:

create database new_db;

2 使用RENAME TABLE命令修改表名,将表移动到新的库里:

rename table old_db.tb to new_db.tb;

3 完成后删除旧库:

drop database old_db;
1 个赞

只能是重新创建数据库,业务不能停的话试试用dm blnlog 同步吧。

是的,一般都是用rename table的方法去做的

mysql低版本还能rename db,高版本不能了,估计tidb也没有,还是用rename db.table的写法吧

v6.4以上的版本, 可以使用flashback database 实现修改database名字
FLASHBACK DATABASE | PingCAP 文档中心

DROP DATABASE test;
FLASHBACK DATABASE test TO test1;
2 个赞

这个搞法很霸气~ :upside_down_face: :+1:

挺好,就是会不会出现异常,然后恢复不了了。。。

哈哈,这个想法很大胆,也很危险

正常情况下操作确实可行,非正常情况下操作可能就要跑路 :sweat_smile:

我觉得还是dump出来,然后再导入靠谱,至少有备份数据

是的,赞同你这个说法,稳妥可靠

逻辑备份恢复