前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >三种方式修改 MySQL 数据库名

三种方式修改 MySQL 数据库名

作者头像
王图思睿
发布2021-06-16 15:47:42
7.8K0
发布2021-06-16 15:47:42
举报

在 Innodb 数据库引擎下修改数据库名的方式与 MyISAM 引擎下修改数据库的方式完全不一样,如果是 MyISAM 可以直接去数据库目录中 mv 就可以,Innodb 如果用同样的方法修改会提示相关表不存在。

第一种方法:

rename database olddbname to newdbname

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

第二种方法:

  1. 创建需要改成新名的数据库
  2. mysqldum 导出要改名的数据库
  3. 删除原来的旧库

这种方法是安全的,但是如果数据量大,会很耗时

第三种方法(推荐):

使用 shell 脚本创建新数据库,并快速将旧库的表变更到新库

#!/bin/bash
# 假设将 sakila 数据库名改为 new_sakila

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_table
do
    mysql -uroot -p123456 -e "rename table sakila.$table to new_sakila.$table"
done

这里用到了 rename table 更改表名的命令,但是如果新表名后面加数据库,将会将原来的数据库的表移动到新的数据库,所有这种方法既安全又快速,推荐!

via:https://blog.csdn.net/eacxzm/article/details/84945714

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一种方法:
  • 第二种方法:
  • 第三种方法(推荐):
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档