IT技术博客大学习 共学习 共进步

MySQL修改库名

架构研究室 2009-12-10 22:22:03 累计浏览 1,824 次

    如果是MyISAM的话.只要修改DATA目录下面的那个库名的文件夹的名字就OK了

    如果是INNODB的话.其实是无法修改库名的.网上瞎咧咧的什么RENAME DATABASE或者ALTER DATABASE都是不行的

    一种方法是比较保守的.直接把老库的内容mysqldump到新库里面

    还有一种类似上面方法.先alter table 的存储引擎到MyISAM,然后改了库目录的名字,然后再改回来INNODB.

    最后一种方法还是比较好的.这边详细写一下.

    假设源库名是’srcdb’,目标库名是’trgdb’

    首先创建目标库

    create database trgdb;

    获取所有源库的表名

    use information_schema;

    select table_name from TABLES where TABLE_SCHEMA=’srcdb’;

    然后按照以下命令一个个修改

    rename table srcdb.[tablename] to trgdb.[tablename];

    一个个执行下来之后表就转到新的库里面了.