mysql数据库重命名
今天导入数据库的时候,先创建了一个测试数据库,导入成功之后,发现软件重命名功能是无效的......
方法1:重命名(无效)
RENAME database olddbname TO newdbname
这个是5.1.7到5.1.23版本可以用的,现在的版本都用不了
使用脚本(无效)
#!/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
使用这个脚本,但是5.6之后这个貌似用不了了,反正我失败了
使用navicat(成功)
- 创建需要的新数据库;
- 使用navicat选中所有的旧表,直接拖动到新数据库上就可以复制表结构和数据,而且复制速度很快(200M的几秒钟就复制完成了),复制完成之后,旧的可以删除,留着当个备份也行.
选中表之后拖动到数据库上就会出现选择项了
这个方法用来导入数据库/表也行
参考: