在测试工作中,有时候数据库升级需要修改数据库名,如果通过导出数据,再新建的数据库的方法来做的话(数据库里面的数据量很大),会比较耗时。下面介绍一种数据库里面的数据量很大快速修改数据库名的方法。
我这里就用一个脚本,新建一个mysql-rename.sh文件
vi mysql-rename.sh

#!/bin/bash
mysql -uroot -p123456 -e 'create database if not exists test_1'
list_table=$(mysql -uroot -p123456 -Nse "select table_name from information_schema.TABLES where TABLE_SCHEMA='test'")

for table in $list_table
do
mysql -uroot -p123456 -e "rename table test.$table to test_1.$table"
done

解释说明:
此段代码是将test数据库名改为test_1,注意,如果数据库有视图或者函数时,通过Navicat工具将视图和函数导入重名的数据库。

OK,MySQL数据库改名就分享至此。