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


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

    一、备份

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

    命令描述,mysqldump -h 主机名 -u 用户名 -p 数据库名称 > 本机需要备份的路径\备份的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选项,如下:

    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

    mysql -u test -p testdb < E:\dbbak\aliyun\backup_testdb_20240531.sql

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

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

  • 相关阅读:
    Ansible自动化运维Inventory与Ad-Hoc
    每日一题 53. 最大子数组和(中等,数组)
    gcc生成shared library及可执行文件
    【React二】ref与事件处理与生命周期钩子函数
    数据结构绪论、顺序表课后练习题
    如何更优雅的编程?面向接口编程四大法宝!
    容器资料: Docker和Singularity
    海思SD3403,SS928/926,hi3519dv500,hi3516dv500移植yolov7(1)
    Intel芯片的Mac电脑需注意,新型恶意软件能窃取系统中的各类密码
    Express 1 快速入门 - 安装
  • 原文地址:https://blog.csdn.net/hnhdl/article/details/139354395