将mysql数据表数据从一台服务器迁移到另一台服务器

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL DuckDB 分析主实例,集群系列 8核16GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 这种问题出现在导入表时,也属于权限问题,看mysql中文手册的一段话:>出于安全原因,当读取位于服务器中的文本文件时, www.2cto.com 文件必须位于数据库目录中,或者是全体可读的。另外,要对服务器文件使用LOAD DATA INFILE,您必须拥有FILE权限。

知识共享许可协议
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。

前提


我本次躺的坑是基于下面的环境的,并且是数据量比较小。如果非一样的条件请自行参考,当然可以参考一下我的思想。

环境
  • 两台都是linux服务器,操作系统是centos
  • 两台服务器中mysql数据库所操作的表结构相同
思想

首先我想用mysql中的outfile将表中的数据导出为txt格式的文件,然后打包使用scp发送到对应另一台服务器上,然后在通过load的infile导入文件形式导入txt文件的数据。

实践(如果有坑,请务必看到最后)


首先当然是确保你的数据库服务启动,由于不同的linux操作系统启动方法不同,这个就自行搜吧!接下来启动你的数据库吧

mysql -uroot -p
#会要求输入密码

使用对用操作的数据库如:stat

use stat

接下来对表进行导出操作,例如对表tools,然后将表导出的数据保存到/home/jie目录下,文件名也为tools

select * from tools into outfile "/home/jie/tools.txt";

如果表多的话可以将表使用tar打包成压缩包的形式传输,下面将form目录打包到/home/jie目录下的form.tar.gz文件

tar -zcvf /home/jie/form.tar.gz /home/jie/form

使用scp进行网络安全传输,文件或者刚才打包的东西

scp [参数] 本地文件 远程用户@远程IP地址:远程目录
# 之后会输入远程用户的密码

传输过来解压,下面是直接解压到当前目录下

tar -zxvf form.tar.gz

然后进行这台服务器的mysql数据库(同上面开始一样),导入数据对应表的数据,如tools表

load data infile "/home/jie/tools.txt" into table tools;

问题一:

ERROR 1 (HY000): Can't create/write to file '/home/jie/tools.txt' (Errcode: 13)

这是在导出表中数据时的问题,出现这种错误你一定远程账户用的不是root,其实就是操作命令包含了路径,此远程用户对应的目录没有写权限。修改目录/home/jie的权限

sudo chmod -R 777 /home/jie

注意:权限一定要改回去,如果你的服务器比较重要是会出大问题的。

问题二:

ERROR 13 (HY000): Can't get stat of '/home/jie/tools.txt' (Errcode: 13)

这种问题出现在导入表时,也属于权限问题,看mysql中文手册的一段话:

出于安全原因,当读取位于服务器中的文本文件时, www.2cto.com 文件必须位于数据库目录中,或者是全体可读的。另外,要对服务器文件使用LOAD DATA INFILE,您必须拥有FILE权限。

解决:

load data local infile "/home/jie/tools.txt" into table tools;

注意:如果导入多张表的时要注意表之间的关系,然后选择导入顺序

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
5月前
|
网络协议 关系型数据库 应用服务中间件
如何迁移网站数据到新的服务器
迁移网站数据到新服务器是一个系统化的过程,需谨慎操作以避免数据丢失或服务中断。小编为您整理发布如何迁移网站数据到新的服务器,以下是详细步骤和注意事项。
|
4月前
|
存储 安全 数据管理
服务器违规资源被删,数据定时备份OSS 云存储才是 “救命稻草”
在数字化时代,数据已成为企业与个人的核心资产。然而,服务器违规、硬件故障等问题频发,导致数据丢失、业务中断,甚至造成不可挽回的损失。为保障数据安全与业务连续性,定时备份至关重要。阿里云国际站OSS提供高效、可靠的云存储解决方案,支持自动定时备份,帮助用户轻松应对数据风险。本文详解OSS备份操作步骤与注意事项,助你为数据穿上“防护甲”,实现安全无忧存储。
|
8月前
|
缓存 人工智能 架构师
释放数据潜力:利用 MCP 资源让大模型读懂你的服务器
MCP(Model Control Protocol)资源系统是将服务器数据暴露给客户端的核心机制,支持文本和二进制两种类型资源。资源通过唯一URI标识,客户端可通过资源列表或模板发现资源,并使用`resources/read`接口读取内容。MCP还支持资源实时更新通知及订阅机制,确保动态数据的及时性。实现时需遵循最佳实践,如清晰命名、设置MIME类型和缓存策略,同时注重安全性,包括访问控制、路径清理和速率限制等。提供的示例代码展示了如何用JavaScript和Python实现资源支持。
920 80
|
6月前
|
弹性计算 安全
阿里云服务器镜像,快速迁移项目数据
有时候旧服务器快到期了,想把项目、数据、软件挪到新服务器上,如果全部重新搭建的话,那无疑是耗时又费力。有了镜像迁移,就方便了许多。
524 1
|
7月前
|
弹性计算 NoSQL 数据库
阿里云服务器如何备份数据?
阿里云服务器数据备份有多种方法,用户可按需选择。主要方式包括:1)快照备份,创建云盘的时间点拷贝,支持定期备份与数据恢复;2)数据库备份DBS,适用于多种环境的数据库备份,涵盖本地及多云场景;3)云备份Cloud Backup,提供统一灾备平台,支持ECS整机、数据库、文件系统等全方位备份,保障数据安全。
|
7月前
|
存储 数据库 Python
使用HTTP POST协议将本地压缩数据发送到服务器
总的来说,使用HTTP POST协议将本地压缩数据发送到服务器是一个涉及多个步骤的过程,包括创建压缩文件,设置HTTP客户端,发送POST请求,以及服务器端的处理。虽然这个过程可能看起来复杂,但一旦你理解了每个步骤,就会变得相对简单。
267 19
|
6月前
|
关系型数据库 MySQL
MySQL数据表添加字段(三种方式)
本文解析了数据表的基本概念及字段添加方法。在数据表中,字段是纵向列结构,记录为横向行数据。MySQL通过`ALTER TABLE`指令支持三种字段添加方式:1) 末尾追加字段,直接使用`ADD`语句;2) 首列插入字段,通过`FIRST`关键字实现;3) 指定位置插入字段,利用`AFTER`指定目标字段。文内结合`student`表实例详细演示了每种方法的操作步骤与结构验证,便于理解与实践。
|
3月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
154 3
|
3月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
3月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。

推荐镜像

更多