zoukankan      html  css  js  c++  java
  • MySQL数据库修改数据库名的三种方式

    在Innodb数据库引擎下修改数据库名的方式与MyISAM引擎下修改数据库的方式完全不一样,如果是MyISAM可以直接去数据库目录中mv就可以,Innodb如果用同样的方法修改会提示相关表不存在。

    第一种方法:

    rename database olddbname to newdbname

    这个是5.1.7到5.1.23版本可以用,但是官方不推荐,会有丢失数据的危险

    第二种:

    1.创建需要改成新名的数据库

    2.mysqldum到处要改名的数据库

    3.删除原来的旧库

    这种方法是安全的,但是如果数据量大,会很耗时

    第三种:

    #!/bin/bash
    # 假设将sakila数据库名改为new_sakila
    # MyISAM直接更改数据库目录下的文件即可
     
    mysql -uroot -p123456 -e 'create database if not exists new_sakila'
    list_table=$(mysql -uroot -p123456 -Nse "select table_name from information_schema.TABLES where TABLE_SCHEMA='sakila'")
     
    for table in $list_table
    do
        mysql -uroot -p123456 -e "rename table sakila.$table to new_sakila.$table"
    

      

    这里用到了rename table更改表名的命令,但是如果新表名后面加数据库,将会将原来的数据库的表移动到新的数据库,所有这种方法既安全又快速。

    作者:Atlas

    出处:Atlas的博客 http://www.cnblogs.com/gomysql

  • 相关阅读:
    Chunky Monkey(算法)
    Confirm the Ending(算法)
    Return Largest Numbers in Arrays(算法)
    防止SQL注入总结
    mybatis中的#和$的区别 以及 防止sql注入
    拆分字符串为树形结构
    虚拟机类加载机制
    linux加载字体
    项目上线暴露出的问题
    浅析正则表达式-应用篇
  • 原文地址:https://www.cnblogs.com/fyf79515/p/12354615.html
Copyright © 2011-2022 走看看