mysql数据库改名方法

  • 内容
  • 评论
  • 相关

第一种方法:

1
1
RENAME database olddbname TO newdbname

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

 

第二种方法:
1.创建需要改成新名的数据库。
2.mysqldum 导出要改名的数据库
3.删除原来的旧库(确定是否真的需要)
当然这种方法虽然安全,但是如果数据量大,会比较耗时,哎,当时连这种方法都没有想到,真有想死的冲动。

 

第三种方法:

我这里就用一个脚本,很简单,相信大家都看的懂

复制代码

1
2
3
4
5
6
7
8
9
10
11
1
#!/bin/bash
1
# 假设将sakila数据库名改为new_sakila
1
# MyISAM直接更改数据库目录下的文件即可
1
mysql -uroot -p123456 -e 
1
'create database if not exists new_sakila'
 
1
list_table=$(mysql -uroot -p123456 -Nse 
1
"select table_name from information_schema.TABLES where TABLE_SCHEMA='sakila'"
1
)
 
1
for

 

1
table 
1
in

 

1
$list_table
1
do
1
    
1
mysql -uroot -p123456 -e 
1
"rename table sakila.$table to new_sakila.$table"
1
done

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