概述
在Innodb数据库引擎下修改数据库名的方式与MyISAM引擎下修改数据库的方式完全不一样,如果是MyISAM可以直接去数据库目录中mv就可以,Innodb如果用同样的方法修改会提示相关表不存在。
第一种方法:
rename database olddbname to newdbname
这个是5.1.7到5.1.23版本可以用,但是官方不推荐,会有丢失数据的危险
第二种:
1.创建需要改成新名的数据库
2.mysqldum到处要改名的数据库
3.删除原来的旧库
这种方法是安全的,但是如果数据量大,会很耗时
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"
done
这里用到了rename table更改表名的命令,但是如果新表名后面加数据库,将会将原来的数据库的表移动到新的数据库,所有这种方法既安全又快速。
作者:Atlas
出处:Atlas的博客 http://www.cnblogs.com/gomysql
最后
以上就是斯文鱼为你收集整理的MySQL数据库修改数据库名的三种方式的全部内容,希望文章能够帮你解决MySQL数据库修改数据库名的三种方式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复