找回密码
 立即注册
查看: 352|回复: 0

【教程贴】Windows环境下MySQL命令行备份还原数据库

[复制链接]

211

积分

0

金钱

211

金币

实习版主

积分
211
    发表于 2024-3-23 20:54:52 | 显示全部楼层 |阅读模式
    本帖最后由 初玖 于 2024-3-24 23:30 编辑

    !!!必读!!!
    !!!数据无价,谨慎操作,操作之前做好服务器快照,方便操作失败回滚!!!
    !!!数据无价,谨慎操作,操作之前做好服务器快照,方便操作失败回滚!!!
    !!!数据无价,谨慎操作,操作之前做好服务器快照,方便操作失败回滚!!!
    自身动手能力或阅读能力不强的话可以找身边懂的人操作,或让服务器运营商帮忙操作。
    不建议小白自己操作,不做快照又要操作数据丢失风险自己承担。
    只分享基础教程,操作失误导致数据丢失自行负责。
    所有命令衔接都要注意有空格的。
    重要的事情说三遍,重要的事情提前说。


    本篇以root用户为例,仅测试环境下操作,学习不要在生产环境下折腾。
    常用情况:面板无法重设密码并且忘记root密码时、面板无法登录并且需要用到MySQL备份数据时(命令行备份数据下期出)、其他情况。

    面板安装的MySQL路径在 D:\BtSoft\mysql\MySQL8.0\bin 下,盘符和MySQL版本更换为自己的。

    前往这个路劲后,在目录空白的地方,按住键盘左下角的SHIFT键的同时,按一下鼠标右键,唤醒右键菜单,找到“在此处打开powershell窗口”(低版本的Windows Server是cmd);




    进入后输入cmd,即可继续我们的教程学习(如果你会powershell的话,使用powershell即可)。


    1.以MySQL5.5为例,打开命令窗口cmd后,输入命令,使用root用户登录进入MySQL
    1. mysql -uroot -p
    复制代码

    终端前面出现MySQL就是登录成功了;如果没有成功,参考这个帖子免密登录。


    2.列出所有数据库,找到需要备份的数据库名;这里只建议一个个库备份,不建议整个数据库全部备份,数据安全懂得都懂。
    1. show databases;
    复制代码



    3.示范以hmailserver这个库为例子,我们选择它,查看备份前的数据表;
    1. use hmailserver;
    2. show tables;
    复制代码



    4.进行数据库备份,在D:\BtSoft\mysql\MySQL5.5\bin目录下另起一个cmd窗口,作为独立窗口操作备份,命令如下
    1. mysqldump -uroot -p hMailServer > d:/mysqlbackup/hMailServer.sql
    复制代码



    随后前往d:/mysqlbackup/目录下查看是否成功备份了,可以使用第三方软件查看备份的是否正常,或者本地虚拟机自己创建一个系统,安装宝塔面板导入试试。



    下面说一下命令行如何还原sql格式的数据库

    !!!注意,此操作会覆盖选中的数据库,请三思,并确认数据库选择无误!!!

    1.以MySQL5.5为例,打开命令窗口cmd后,输入命令,使用root用户登录进入MySQL
    1. mysql -uroot -p
    复制代码


    终端前面出现MySQL就是登录成功了;如果没有成功,参考这个帖子免密登录。

    2.创建同名数据库,并且检查是否创建成功了。

      1. create database hmailserver;
      复制代码




    3.选择刚刚创建的hmailserver数据库,随后使用命令还原备份。
      1. use hmailserver;
      2. source d:/mysqlbackup/hMailServer.sql
      复制代码




    4.等恢复命令跑完后,使用命令查看数据表是否与备份前一致。
    1. show tables;
    复制代码


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|天天站

    GMT+8, 2024-11-22 09:49 , Processed in 0.085649 second(s), 18 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.