前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >使用rename方法迁移备份大型mysql数据库

使用rename方法迁移备份大型mysql数据库

原创
作者头像
Power
发布2025-03-05 11:27:26
发布2025-03-05 11:27:26
4100
代码可运行
举报
运行总次数:0
代码可运行

背景

项目日志库需要重构,但是单个日志库太大(最小10G有的甚至在100G以上)。使用mysqldump方式备份不现实,可以使用rename操作,把数据表迁移到一个新的备份库中,速度快且不用丢数据。

  • old_database:旧数据库
  • new_database:新数据库(备份)

检查

操作前请先检查是否有程序占用,确保连接数据库的程序已经退出,不然操作会等待锁有可能导致卡死。

代码语言:javascript
代码运行次数:0
复制
show processlist;

操作

代码语言:javascript
代码运行次数:0
复制
#创建新的数据库
mysql -h127.0.0.1 -P3306 -uUSERNAME -pPASSWORD -e 'create database if not exists new_database'

#获取旧数据库中的所有表
table_list=$( mysql -h127.0.0.1 -P3336 -uUSERNAME -pPASSWORD -Nse "select table_name from information_schema.TABLES where TABLE_SCHEMA='old_database'")

#将旧数据库的表和数据全部迁移到新的数据库
for table in $table_list
do
    mysql -h127.0.0.1 -P3306 -uUSERNAME -pPASSWORD -e "rename table old_database.$table to new_database.$table"
done

以上流程务必先测试一下,涉及到数据库的操作请谨慎执行。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
LV.
这个人很懒,什么都没有留下~
目录
  • 背景
  • 检查
  • 操作
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档