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

日常做服务器维护,经常操作的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搞定。

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

相关推荐
原机小子27 分钟前
Spring Boot框架下的新闻推荐技术
服务器·spring boot·php
读心悦1 小时前
修改 MySQL 数据库中的唯一键
数据库·mysql
卓琢1 小时前
(九)Shell 脚本(四):正则表达式、sed 和 awk 详解
linux·mysql·正则表达式
qq_213157891 小时前
(c#)unity中sqlite多线程同时开启事务会导致非常慢
数据库·sqlite·c#
北极无雪1 小时前
Spring源码学习(拓展篇):SpringMVC中的异常处理
java·开发语言·数据库·学习·spring·servlet
iangyu1 小时前
docker常用命令
运维·docker·容器
666xiaoniuzi2 小时前
深入理解 C 语言中的内存操作函数:memcpy、memmove、memset 和 memcmp
android·c语言·数据库
正在走向自律2 小时前
3.使用条件语句编写存储过程(3/10)
数据库·存储过程·安全架构
YONG823_API2 小时前
电商平台数据批量获取自动抓取的实现方法分享(API)
java·大数据·开发语言·数据库·爬虫·网络爬虫
小小不董2 小时前
图文深入理解Oracle DB Scheduler
linux·运维·服务器·数据库·oracle