三种方式修改 MySQL 数据库名

编程知识 行业动态 更新时间:2024-06-13 00:19:27

原文:三种方式修改 MySQL 数据库名

在 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 更改表名的命令,但是如果新表名后面加数据库,将会将原来的数据库的表移动到新的数据库,所有这种方法既安全又快速,推荐!

更多推荐

三种方式修改 MySQL 数据库名

本文发布于:2023-03-28 08:41:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/24ee453a563a6fee536be8367ad2e79f.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:三种   方式   数据库   MySQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!