mysql8版本数据迁移

  原来的云服务器到期,想把应用和数据库迁移到一个新的云服务器。应用迁移简单,jar复制过去就完事了,mysql已经跑了不少数据在库了,因此需要数据复制。因为新的云服务器没有开通外网权限,没法ping通ip,所以数据迁移做不到从旧服务器直接复制到新服务器,只能先找个跳板。而这个跳板,自然就是我的windows本机了。

  方案很简单,首先在老服务器上把数据库test上的所有数据dump下来,放到本机一个目录上;然后在新服务器上安全好mysql8(老服务器的mysql版本也是8),然后创建同名数据库test;接着把本地dump数据上传到新服务器;最后在新服务器上执行dump命令。

  以下是方案实现:

  1、老服务器dump数据库test的数据:

[root@centos ~]# mysqldump -uroot -p --databases test > dump.sql
Enter password:

  通过scp把放到本地(scp命令参见通过SCP实现Linux服务器和本地Win10机器的文件上传下载):

C:\Users\wulf>D:

D:\>cd download

D:\download>scp root@100.111.11.10:/home/mysql/dump.sql .
root@100.111.11.10's password:

 

  2、在等待dump文件下载的时候,去新服务器安装好myslq:

[root@centos ~ home]# yum install mysql-server

  接着启动mysql8:

[root@centos ~]# service mysqld start

  初始密码为空,直接回车登录mysql后修改密码,创建跟老数据库同名的test:

[root@centos ~]# mysql -uroot -p 

mysql
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root123@';
mysql> create database test;
Query OK, 1 row affected (0.03 sec)

 

  3、把本地dump.sql文件上传到新服务器:

D:\download>scp ./dump.sql root@100.111.11.10:/home/mysql/
root@100.111.11.10's password:

  又是漫长的等待。

  

  4、执行新服务器的数据重放:

mysql> use test;
Database changed
mysql> source /home/mysql/dump.sql
Query OK, 3667 rows affected (0.09 sec)
Records: 3667  Duplicates: 0  Warnings: 0

  mysql执行脚本比ftp的磁盘io快多了,很快数据就迁移结束。

  可以查一下确认数据是否都导入了:

mysql> select count(*) from t_mwsorder;
+----------+
| count(*) |
+----------+
|   629379 |
+----------+
1 row in set (0.00 sec)

  数据量对的上就说明迁移完成了。

 

  

posted on   不想下火车的人  阅读(959)  评论(0编辑  收藏  举报

编辑推荐:
· 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 重磅开源!
· 字符编码:从基础到乱码解决

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示