mysql 早期的myisam 引擎的数据库名字 是可以直接通过目录名称修改的,一条mv old_db new_db
即可, 尝试在innodb下直接修改, 所有数据表都会提示表格不存在
解决:
#!/bin/bash bash ./rename.bash
mysql -uroot -proot -e 'create database if not exists new_db'
tables = $(mysql -uroot -proot -Nse "select table_name from information_schema.TABLES where TABLE_SCHEMA='old_db'")
for table in $tables
do
mysql -uroot -proot -e "rename table old_db.$table to new_db.$table"
done
mysqldump -uroot -proot old_db > db_dump.sql
mysql -uroot -proot new_db < db_dump.sql
网友评论