mysql数据库备份和还原

1.mysqldump是mysql提供的一个非常有用的数据库备份工具,mysqldump命令执行的时候,可以将数据库备份成一个文本文件,该文件中实际上包含了多个create和insert语句,使用这些语句可以重新创建表和插入语句。
2.数据库备份
(1)mysqldump备份的基本语法

mysqldump -u user -h host -p password dbname[tbname,[tbname]]>filename.sql

user:用户名称;host:登录用户的主机名称;password登录密码;dbname:需要备份的数据库名称;
tbname为dbname数据库中需要备份的数据表,可以指定多个需要备份的数据表;
“>”:告诉mysqldump将备份数据表的定义和数据写入备份文件;
filename.sql:备份文件的名称
(2)使用mysqldump备份数据库中的某个表

mysqldump -u user -h host -p password dbname [tbname,[tbname...]]>filename.sql

tbname表示数据库中的表名,多个表名之间用空格隔开。
备份表和备份数据库中所有表的语句不同的地方在于,要在你数据库名称dbname之后指定需要备份的表的名称。
(3)使用mysqldump备份多个数据库

mysqldump -u user -h host -p password --databases [dbname,[dbname...]]>filename.sql

–databases参数之后,必须指定至少一个数据库名称,多个数据库名称之间用空格隔开。
5.使用mysqldump备份数据库中的所有数据库

mysqldump -u user -h host -p password --all-databases>filename.sql

–all-databases参数可以在后面不指定数据库的名称。
注:如果是在服务器上面进行备份,并且表全是MyISAM表,应该考虑使用mysqlhotcopy,因为可以更快地进行备份和恢复。
(4)直接复制整个数据库目录
因为mysql表保存为文件方式,所以可以直接复制mysql数据库的存储目录及文件进行备份。这是一种简单、快速、有效的备份方式。想要保持备份的一致性,备份前需要对相关表执行LOCK TABLES操作,然后对表执行FLUSH TABLES。这样当复制数据库目录中的文件时,允许其他客户急需查询表。需要FLUSH TABLES语句来确保开始备份前将所有激活的索引页写入硬盘。当然,也可以停止mysql的服务在进行备份。
这个方法简单,但是不是最好的方法,因为它对于InnoDB存储引擎的表不支持。使用这种方法备份的数据最好还原到相同版本的服务器中,不同的版本可能不兼容。
(5)使用mysqlhotcopy工具快速备份
mysqlhotcopy是一个Perl脚本,它使用LOCK TABLES,FLUSH TABLES和cp或scp来快速备份数据库。它是备份数据库或单个表的最快途径,但它只能运行在数据库目录所在的服务器上,并且只能备份MyISAM类型的表。只是将表所在目录复制到另一个位置,只能用于备份MyISAM和ARCHIVE表。
3.数据库还原
(1)使用mysql命令还原

mysql -u user -p[dbname]<filename.sql

(2)直接复制到数据库目录
如果数据库通过复制数据库文件备份,可以直接备份的文件到mysql数据目录下实现还原。通过这种方式还原时,必须保存备份数据的数据库和带还原的数据库服务器的主版本号相同。而且这种方式只对MyISAM存储引擎有效,对于InnoDB不可用,执行还原前关闭mysql服务,将备份的文件或目录覆盖mysql的data目录,启动mysql服务。
(3)mysqlhotcopy快速恢复
mysqlhotcopy备份后的文件也可以用来恢复数据库,在mysql服务器停止运行时,将备份的数据库文件复制到mysql存储数据的位置,重新启动mysql服务即可。如果以根据用户选择执行该操作,必须指定数据库文件的所有者。
4.数据库迁移
(1)概念:数据库迁移就是把数据从一个系统迁移到另一个系统上
(2)数据库迁移有以下原因:

  • 需要安装新的数据库服务器
  • mysql版本更新
  • 数据库管理系统的变更
    在这里插入图片描述
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值