本站承诺永不接任何虚假欺骗、联盟广告、弹窗广告、病毒广告、诱导充值等影响用户体验的广告,广告屏蔽插件会影响本站部分功能,还请不要屏蔽本站广告,感谢支持!

当前位置:首页 / 正文

519

三种方式修改 MySQL 数据库名

编程技术 | WangTwoThree | 2021-01-06 | 等你评论 | 2 次点赞

在 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


猜你喜欢

暂无评论

有话要说

本页二维码

扫码手机打开

浏览TOP5
热门标签
点赞TOP5
最新评论
别人在看