本地数据同步到远端服务器(二):数据库迁移到服务器

本文详细介绍了如何将本地数据库备份并迁移到远程服务器的过程,包括使用mysqldump备份数据库,通过ssh连接服务器,创建用户和数据库,解决因版本差异引起的字符集问题,并使用sed命令修复SQL文件,最终成功导入数据。文中提供了相关参考资料以供进一步学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本地数据库的备份

1.确定本地数据库的安装位置
show variables like '%dir%';
2.转移当前目录到mysql的bin文件夹下
cd /usr/local/mysql-8.0.18-macos10.14-x86_64/bin/
3.使用mysqldump命令对数据库进行备份
mysqldump -u 用户名 -p 数据库名>导出的目录
(其实好像并不用转移目录啊,直接mysqldump就可以了,bin里还不能写文件,我还得写上绝对路径的导出目录)

导入至远端服务器

1.通过ssh命令与目标服务器进行连接
2.使用root用户操作数据库,创建自己的用户user1

use mysql
create user 'username'@'ip' identified by 'password';

这里我ip使用的是'localhost',username暂时设为user1
注意像username,ip,password这些都需要用单引号包起来,按照自己需求填写就好

3.创建需要使用的数据库并授权给user1

### 如何实现本地数据库服务器数据库之间的数据同步 #### 方法一:通过 SQL Server 使用链接服务器技术 在 SQL Server 中,可以通过创建链接服务器来实现在不同服务器之间进行数据同步。具体来说,可以采用两种方式之一:使用 SSMS 管理工具或者编写 SQL 脚本来完成此操作[^1]。 以下是基于 SQL 脚本的方式: ```sql EXEC sp_addlinkedserver @server=N'RemoteServer', @srvproduct=N'SQLSERVER', @provider=N'SQLOLEDB', @datasrc=N'YourRemoteServerName'; -- 添加登录映射以便访问远程服务器的数据 EXEC sp_addlinkedsrvlogin @rmtsrvname = N'RemoteServer', @useself = N'False', @locallogin = NULL, @rmtuser = N'remotelogin', @rmtpassword = 'password'; ``` 这种方法允许用户直接查询并更新远程服务器中的表结构和数据内容,从而达到同步的目的。 --- #### 方法:利用 Navicat 进行数据传输 另一种常见的解决方案是借助第三方软件——Navicat 来完成云数据库本地数据库间的数据迁移工作。其主要流程如下: 1. 如果目标接收端尚未存在相应的数据库,则需手动预先构建好;如果已经存在则无需额外处理。 2. 打开 Navicat 后,在顶部导航栏定位至 **工具 -> 数据传输** 功能选项卡。 3. 设置源数据库连接参数(即本地环境配置),同时指定目的地址的相关细节信息(比如云端实例的具体位置等)。 4. 用户可以根据实际情况挑选需要转移的对象集合范围。 5. 完成上述准备工作之后点击启动按钮正式进入实际传送环节。 6. 待整个过程结束以后记得及时退出程序界面,并返回各自站点验证最终效果是否一致无误[^2]。 --- #### 方法三:运用 DataX 工具执行 MySQL 数据库间的同步任务 对于 MySQL 类型的场景下,还可以考虑调用阿里巴巴开源项目 DataX 来达成高效稳定的数据交换服务。它支持多种异构存储介质之间的大批量离线拷贝动作。下面给出了一条典型指令示范说明如何加载预定义好的 JSON 配置文档来进行跨平台交互活动[^3]: ```bash python E:\datax\bin\datax.py E:\datax\job\job.json ``` 其中 `job.json` 文件内部封装了关于读取源头记录集以及写入目的地字段列表等一系列必要描述项。 --- ### 总结 以上分别介绍了三种不同的途径用于解决从客户端上传资料到远端主机上保存的问题。每种方案各有优劣之处,开发者应当依据自身的业务特性选取最为合适的策略加以实施应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值