• 数据库的恢复与备份


    mysql数据库的备份和恢复

    mysql数据备份与恢复

    数据备份

    • 备份一个数据库
    mysqldump -u用户名 -p密码 数据库名 > 备份的文件名
    mysqldumo -uroot -p123456 database_name > mysql.sql  # 可以在文件名前写上文件路径
    
    • 1
    • 2
    • 备份多个数据库
    mysqldump -u用户名 -p密码 数据库1 数据库2 > 备份的文件名
    mysqldumo -uroot -p123456 database1 database2  > mysql.sql  
    
    • 1
    • 2
    • 备份一个表
    mysqldump -u用户名 -p密码 数据库名 表名 > 备份的文件名
    mysqldump -uroot -p123456 database_name table_name >mysql.sql
    
    • 1
    • 2

    如果只需要备份数据库或数据表的结构,在数据库名后面加上 ‘-d’ 即可

    • 备份数据库或数据表的结构
    mysqldump -u用户名 -p密码 数据库名 -d > 备份的文件名
    mysqldumo -uroot -p123456 database_name -d > mysql.sql 
    # 数据表同理
    
    • 1
    • 2
    • 3

    如果需要指定备份数据库的服务器 可以使用如下命令

    mysqldump -h服务器 -u用户名 -p密码 数据库 > 备份的文件名
    mysqldumo -h192.168.11.12 -uroot -p123456 database_name > mysql.sql 
    
    • 1
    • 2
    下面是我备份得到的数据库的部分截图

    在这里插入图片描述

    数据还原

    • 还原数据库
    mysql -u用户名 -p密码 已存在的数据库名 < 备份的数据库文件路径
    mysql -uroot -p123456 exit_database < mysql.sql
    
    • 1
    • 2

    【注意】

    • 备份数据库是“>”,还原数据库是“<”,别弄混。
    • 通过这种方式还原时,必须保证两个MySQL数据库的版本号是相同的。MyISAM类型的表有效,对于InnoDB类型的表不可用,InnoDB表的表空间不能直接复制。

    测试

    在使用上面数据进行备份还原时有几个问题:

    1. 数据库没有清空是否能够还原成功?会不会还原后有重复的数据出现?
    2. 数据备份后,新增数据后,还原数据库会保留新增的数据吗?

    针对以上问题,我进行了测试

    测试环境

    • mysql数据库版本:mysql5.5
    • 系统:windows

    在这里插入图片描述
    数据表结构
    在这里插入图片描述
    初始数据
    在这里插入图片描述

    开始测试

    进行数据库备份

    在桌面创建了个 test 文件夹,在文件夹下打开powershell窗口,执行命令

    mysqldump -uroot -p123456 test >test.sql
    
    • 1

    命令执行完成后,在当前目录下生成了 test.sql 备份文件
    在这里插入图片描述

    测试1: 1. 数据库没有清空是否能够还原成功?会不会还原后有重复的数据出现?

    步骤1: 删除数据表中的数据

    将 customer 表中的 id 为1的数据删除,如下图所示
    在这里插入图片描述
    步骤2:数据还原

    执行还原语句
    在这里插入图片描述
    还原后进行查询 customer 表,如下图
    在这里插入图片描述
    结论
    数据库没有清空可以还原成功,不会出现重复的数据

    测试2: 数据备份后,新增数据后,还原数据库会保留新增的数据吗?

    新增一条数据,结果如下
    在这里插入图片描述
    执行数据库还原语句
    在这里插入图片描述
    查询数据表,如下图:
    在这里插入图片描述

    结论

    通过上面结果可以得出,使用上面方法对数据库进行数据备份还原,在备份后,对数据表进行增删改的修改,进行还原会把数据库完全还原到备份时的数据,不会造成数据混乱

  • 相关阅读:
    python调试代码好的方法
    Java保留两位小数的几种写法总结
    SPRING BOOT 项目中使用<SCOPE>PROVIDED</SCOPE>打包成WAR到TOMCAT运行出现的问题总结
    Spring Boot整合Thrift RPC
    Thrift语法参考
    Thrift中enum的一些探究
    Thrift入门及Java实例演示
    xcrun: error: unable to find utility "xctest", not a developer tool or in PATH
    Composer: Command Not Found
    Mac安装thrift因bison报错的解决办法
  • 原文地址:https://www.cnblogs.com/huibaobao/p/13558246.html
Copyright © 2020-2023  润新知