千家信息网

mysql数据库改名的三种方法

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,前不久去面试,被问到Innodb引擎的表如何改数据库名,当时我也只回答了MyISAM改如何操作,被一些细节问题打败,真是操蛋。如果表示MyISAM那么可以直接去到数据库目录mv就可以。Innodb完全
千家信息网最后更新 2025年11月08日mysql数据库改名的三种方法

前不久去面试,被问到Innodb引擎的表如何改数据库名,当时我也只回答了MyISAM改如何操作,被一些细节问题打败,真是操蛋。

如果表示MyISAM那么可以直接去到数据库目录mv就可以。

Innodb完全不行,自己测试过,会提示相关表不存在。

第一种方法:

RENAME database olddbname TO newdbname

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

第二种方法:

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

第三种方法:

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

复制代码

#!/bin/bash# 假设将sakila数据库名改为new_sakila# MyISAM直接更改数据库目录下的文件即可mysql -uroot -p123456 -e 'create database if not exists new_sakila'list_table=$(mysql -uroot -p123456 -Nse "select table_name from information_schema.TABLES where TABLE_SCHEMA='sakila'")for table in $list_tabledo    mysql -uroot -p123456 -e "rename table sakila.$table to new_sakila.$table"done

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


数据 数据库 方法 安全 目录 不行 冲动 危险 代码 命令 官方 引擎 文件 版本 细节 脚本 问题 推荐 提示 测试 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖南省软件开发工程师招生 中华人民共和国网络安全第28条 服务器请神 深圳前海聚择互联网科技有限公司 网络安全法漫画之六 数据库更新查询成绩提高10% 网络安全攻防演练目标 怎么发布网络安全预警 软件开发协开部门 数据库安装路径错误 网络安全空间专业的代码 增福乡软件开发培训 小型服务器怎么进入节能模式 河北语音网络技术分类创新服务 网络安全线上安全知识答案 软件开发验收程序不合规 关于学校网络安全条幅 禁毒网络安全策划案 淮北系统软件开发公司哪家好 网络安全运维支持中心 网络安全二级等保价格 c语言定义链表并写入数据库 软件开发需要掌握的技术 软件开发项目怎么配合 tbc服务器多少人就要排队了 学网络安全专业对英语要求很高吗 网络安全天津招聘 查看数据库表空间是否释放 计算机网络技术的学啥 英飞拓中心管理服务器
0