修改MySQL 数据库名称
短信预约 -IT技能 免费直播动态提醒
MySQL不支持直接修改数据库名称语法。
那么要修改数据库名称该如何操作呢?例如,我们将数据库test 修改为test2。
第一步 创建新名称对应的数据库
create database if not exists test2
第二步 获取所有源库的表,即test数据库下所有表。
select table_name from information_schema.tables where table_schema='test'
第三步 通过rename语法修改表schema信息
rename table test.[table_name] to test2.[table_name]
修改完成所有表后,删除原有数据库test
drop database if exists test
优化整理之后Shell脚本
创建 move_mysql_database.sh
chmod +755 move_mysql_database.sh
#!/bin/basholddb=''newdb=''if [ $1 ]; then echo "oldDB is $1" olddb=$1else echo "oldDb is empty" exit 0;fiif [ $2 ]; then echo "new db is $2" newdb=$2else echo "new db is empty" exit 0;fiecho "move database $olddb to $newdb "my_connect="mysql -h 192.168.0.114 -P3306 -u root -pPassword@123"echo "$my_connect"$my_connect -e "create database if not exists $newdb"list_table=$( $my_connect -Nse "select table_name from information_schema.tables where table_schema='$olddb'" )echo "start to move $olddb tables ... "for table in $list_tabledo $my_connect -e "rename table $olddb.$table to $newdb.$table"doneecho "move $olddb tables finished "echo "drop database $olddb ..."$my_connect -e "drop database if exists $olddb"echo "move success"
执行修改脚本
sh move_mysql_database.sh test test2
备注:move_mysql_database.sh 中 my_connect 变量需要修改为自己的mysql链接信息
my_connect="mysql -h 192.168.0.114 -P3306 -u root -pPassword@123"
来源地址:https://blog.csdn.net/wang4721/article/details/127961369
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341