Mysql 备份 与 还原

本文导读

  • 使用 Navicat 等 Mysql 工具进行备份还原就不说了,本文主要讲解如何使用Mysql自带的命令进行数据备份与还原
  • 实际中有时需要定期备份mysql数据库,显然用代码比用人定期备份更加方便

备份数据库

  • 以操作云服务器 linux 系统上安装的 mysql 为例

连接 mysql

  • 使用xshell等工具连接上之后,输入"mysql -uroot -p"开始连接mysql,输入密码即可登录



格式说明

  • windows系统中就是如下操作,当然linux系统也完全是一样的


备份数据库

  • 使用"show databases;"查看所有数据库,现在以备份"facebook"数据库为例
  • 在输入“exit”先退出mysql连接


  • 使用命令:mysqldump -hlocalhost -p3306 -uroot -p facebook>/home/facebook.sql
  • 备份之后可以使用"vim facebook.sql"进行查看内容



备份数据表

  • 使用指令:mysqldump -u账号 -p 数据库名 数据表名>存储路径




数据库还原

  • 下面使用"scp"命令将备份好的"facebook.sql"、"headline.sql"文件传输到另外一台Linux服务器上


  • 数据还原有两种方式,有如下两种方式

source 还原

  • 登录mysql、然后创建数据库。因为备份的时候,文件中操作的都是数据库中的表,并不会自动新建数据库
  • 使用命令还原数据库source sql文件路径
  • 使用scp传输成功后,目标Linux系统中就有了刚才备份的sql文件,如下所示:





mysql -* 还原

  • 命令格式与mysql备份的格式基本一致,命令:mysql -hlocalhost -p3306 -uroot -p facebook</home/headline.sql
  • 就是将备份的mysqldump改为mysql,后面的">"改为"<"即可
  • 这种方式好处是不用登陆mysql即可操作,适合Java代码控制;但是仍然得先创建好数据库




数据表还原

  • 数据表的还原与数据库的还原完全一致
  • 因为数据备份的时候,数据库与数据表备份下来后,都是sql文件,里面的内容都是操作表的,区别仅仅在于备份数据库时操作的是所有表,而备份表只是操作单张表而已
  • 这也就是为什么还原的时候必须先建数据库的原因,因为备份数据库根本没有删除数据库,新建数据库的操作






猜你喜欢

转载自blog.csdn.net/wangmx1993328/article/details/80799730
今日推荐