mysql修改数据库名的方法

1.通用方法:

指的分别在MYSIAM引擎和INNODB的下

备份还原,安全稳定,数据量大的时候会花很多时间

先将数据库备份,然后再还原到新数据库

2.MYSIAM下

直接在数据库文件目录下修改对应数据库目录的名字

此方法未测试过

3.INNODB下

3.1 rename database

RENAME database olddbname TO newdbname

此方法不安全,官方也不推荐,本人也未验证。

3.2 rename table … to …

通过此方法写了个脚本

#!/bin/bash
PWD=123456
mysql -uroot -p${PWD} -e "show databases;"

ALL_DB=$(mysql -uroot -p${PWD} -e "show databases;")

read -p "请输入需要修改的数据库名称:" OLD_N
for i in ${ALL_DB}
do
        if [ $i = "$OLD_N" ];then
                echo "输入的数据库名正确,将对输入的数据库进行改名操作"

                read -p "请输入新数据库名:" NEW_N
                mysql -uroot -p${PWD} -e "create database if not exists $NEW_N;" &> /dev/null
                TABLE_LIST=$(mysql -uroot -p123456 -Nse "select table_name from information_schema.tables where table_schema='$OLD_N'")
                echo "${OLD_N}中包含了如下表:${TABLE_LIST}"
                for j in $TABLE_LIST
                do
                        mysql -uroot -p123456 -e "rename table ${OLD_N}.${j} to ${NEW_N}.${j}"
                done
        elif
        		echo "您输入的数据库名不存在"
        fi
done
MySQL修改数据库称比较麻烦,不支持直接修改,需要通过其他方式间接达到修改数据库称的目的。在MySQL 5.1.23之前的旧版本中,可以使用RENAME DATABASE来重命数据库,但此后版本因为安全考虑,删除了这一条命令。有两种常用的方法修改数据库称。 方法一是先导出数据,再导入数据。首先,使用mysqldump命令导出原数据库的数据到一个SQL文件中,例如"old_db.sql"。然后,创建一个新的数据库,例如"new_db"。最后,使用mysql命令将导出的SQL文件导入到新的数据库中,命令如下:mysql -uroot -p123456 new_db < /tmp/old_db.sql。这样就完成了将数据从旧数据库迁移到新数据库的操作,间接实现了修改数据库称的目的。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [如何修改MySQL数据库称](https://blog.csdn.net/C_ailinlin/article/details/120363188)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Mysql数据库的3种方法](https://blog.csdn.net/weixin_45299811/article/details/125003332)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值