MySQL数据迁移
前言
在进行迁移时,源mysql的配置和目标mysql的配置应尽量保持一致
迁移所有数据库
迁移前,源端有以下数据库:
迁移前,目标端有以下数据库
目标端是刚安装好的mysql,默认就有上图中的4个库,源端比目标端多了一个dan库
在源端备份所有数据库
[root@target_pc databasefile]#
mysqldump -u root -p --all-databases > /backup/databasefile/all_databases_20150325.bak
拷贝备份文件到目标端
在目标端还原所有数据库
[root@source_pc databasefile]# mysql -u root -p < all_databases_20150325.bak
Enter password:
-- 注意:
当迁移所有数据库时,不需要提前在目标端创建好所有数据库
迁移某个数据库
源端所有数据库(引擎均为innodb)
源端备份要迁移的库
备份:
- 在源端创建一个文件夹:/home/backup/
- 执行指令:[root@mysql2 ying]#
mysqldump -uroot -p -B -F -R -x --master-data=2 TA03 | gzip > /home/ying/backup/bak_$(date +%F).sql.gz
查看:
[root@mysql2 wuchao]# ls /home/ying/backup/
bak_2018-01-05.sql.gz #文件存在了
将文件迁移到目标服务器
// 在目标服务器上要提前将TA03这个数据库创建好,名称要和源的数据库名称相同
[root@mysql2 ying]# scp /home/ying/backup/bak_2018-01-05.sql.gz ying@192.168.111.111:/home/ying/backup
'注意
要在目标服务器上提前创建好该文件夹,并且调整该文件夹的权限,不能为root用户权限,
scp是基于ssh的,而mysql默认是不允许root远程链接的,将文件夹权限改为wuchao这个用户
'
ying@192.168.111.111's password: #填写密码 目标服务器
bak_2018-01-05.sql.gz #生成文件
将备份来的文件解压,然后导入
[ying@redis01 ~]$ sudo gzip -d /home/ying/backup/bak_2018-01-05.sql.gz
[sudo] password for ying:
[ying@redis01 ~]$ mysql -u root -p TA03 < /home/ying/backup/bak_2018-01-05.sql
Enter password:
[ying@redis01 ~]$
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!