在本地电脑中如何用命令操作远程服务器上的数据库

日常做服务器维护,经常操作的2个事情,一个是备份远程服务器上的数据库到本地电脑,一个是将备份下来的数据库是恢复到本机做测试用。下面以阿里云的mysql为例,看看怎么弄。电脑是win10系统,先打开cmd命令行模式,再来处理备份和恢复。过程中,会遇到一些问题及处理方法。

一、备份

远程数据库备份到本地电脑

命令描述,mysqldump -h 主机名 -u 用户名 -p 数据库名称 > 本机需要备份的路径\备份的sql名称.sql,案例如下:

sql 复制代码
mysqldump -h abcdefgsdfsdfsfd.mysql.rds.aliyuncs.com -u test -p testdb > E:\dbbak\aliyun\backup_testdb_20240531.sql

输入以上命令回车,就好。电脑出现了一个警告:

Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions, even those that changed suppressed parts of the database. If you don't want to restore GTIDs, pass --set-gtid-purged=OFF. To make a complete dump, pass --all-databases --triggers --routines --events.

可以改一下,增加--set-gtid-purged=OFF选项,如下:

sql 复制代码
mysqldump -h abcdefgsdfsdfsfd.mysql.rds.aliyuncs.com -u test --set-gtid-purged=OFF -p testdb > E:\dbbak\aliyun\backup_testdb_20240531.sql

如此就不再显示警告信息,使用mysqldump命令操作备份,数据比较完整,数据恢复起来一般不会出错。不过在cmd下操作,有个不好的体验,就是数据备份的过程中没有进度条。直到备份完成,才会显示到当前的命令行,如:C:\Users\Administrator>

二、恢复

如何把上面备份好的sql数据库文件恢复到本地电脑的mysql数据库中?尝试了两种办法,一种是用Navicat for MySql运行sql文件,这个不到一半就卡死了,果断结束放弃。一种是用命令来弄,几百M的数据还是比较顺利。

命令:mysql -u 用户名 -p 数据库名称 < 本机路径\之前备份好的sql文件名称.sql

sql 复制代码
mysql -u test -p testdb < E:\dbbak\aliyun\backup_testdb_20240531.sql

输入以上命令回车,输入密码,就坐等恢复。完成之后,检查一下数据是否恢复完整。看到数据表数量与服务器上的一样,再随机查一下表里的数据也一样,OK搞定。

到此,关于在本地电脑中如何用命令操作远程服务器上的数据库,就完事了。在此记录一下,以免要用的时候找不到,方便自己也方便别人。

相关推荐
Bert.Cai8 小时前
MySQL LPAD()函数详解
数据库·mysql
hhb_6189 小时前
C Shell 基础语法与高阶运维实战指南
运维·c语言·chrome
想唱rap9 小时前
UDP套接字编程
服务器·网络·c++·网络协议·ubuntu·udp
OnlyEasyCode10 小时前
Navicat 任务自动备份指定数据库
数据库
AC赳赳老秦10 小时前
OpenClaw多平台部署:Windows+Linux跨系统协同,实现全场景覆盖
linux·服务器·前端·网络·windows·deepseek·openclaw
if else10 小时前
Redis 哨兵集群部署方案
数据库·redis
yejqvow1210 小时前
Pandas 高效实现组内跨行时间戳匹配与布尔标记
jvm·数据库·python
了不起的云计算V10 小时前
从DeepSeek V4适配看国产算力的三个拐点
数据库·人工智能
爱学习的小囧10 小时前
VMware vCenter Server 9.0.2.0 资源详解+完整部署教程+下载指南+常见问题
运维·服务器·esxi·vmware·虚拟化·esxi9.0.2.0
qq_1898070310 小时前
html标签如何提升可访问性_aria-label与title区别【指南】
jvm·数据库·python