You need to enable JavaScript to run this app.
导航
数据库
最近更新时间:2024.05.28 16:19:21首次发布时间:2024.02.27 21:50:25

veDB MySQL 实例支持修改数据库名称吗?

不支持,因为 MySQL 原生也是不支持修改数据库名称的。
若必须要变更,您可以参考以下方案转移库表:

  • 方法一:通过 mysqldump 导出数据,再新建一个库导入。该方法相对比较保险,但数据量较大时会比较耗时。

  • 方法二:通过 rename 数据库里面的表,SQL 操作详情请参见 MySQL 文档。该方法相比 mysqldump 速度较快,但风险较高,例如可能会导致视图不可用,因为视图名称虽然发生了变更,但创建语句中引用的表名还是原表名。

    # 创建新的数据库
    CREATE DATABASE new_db_name; 
    # 对所有的表进行重命名
    RENAME TABLE db_name.table1 TO new_db_name.table1; 
    # 删除原来的数据库
    DROP DATABASE db_name;
    

    若表数量很多,也可通过以下脚本批量修改。

    mysql -uroot -p -e "select concat('rename table db.',table_name,' to new_db.',table_name,';') from information_schema.TABLES where TABLE_SCHEMA='db';" > rename_mysql_name.sql
    
    # 批量修改
    mysql -uroot -p < rename_mysql_name.sql
    

手工执行的 DDL 未生效?

检查在手工执行 DDL 时,数据库是否存在正在执行的 Online DDL 工单,Online DDL 的执行结果可能会覆盖手工执行的 DDL。关于工单的更多操作详情,请参见工单管理