如何使用MYSQL数据库进行备份数据恢复

恢复整个数据库首先,如果要恢复的数据库是含有授权表的mysql数据库,将需要使用--skip-grant-tables选项运行服务器。否则,服务器将 抱怨无法找到授权表。在恢复表之后,执行mysqladmin flush-privileges 来告诉服务器加载授权表,并用它们启动。将原数据库目录的内容拷贝到其他的地方。
如何使用MYSQL数据库进行备份数据恢复
数据库毁坏发生的原因有许多,且程度各不相同。如果幸运的话,可能是一两个表的小毁坏(例如,如果您的机器由于断电而暂时停机)。如果不是这 样,可能需要置换整个的数据目录(例如,如果某个磁盘瘫痪而且数据目录在它上)。在其他情况下也需要恢复操作,例 数据库毁坏发生的原因有许多,且程度各不相同。如果幸运的话,可能是一两个表的小毁坏(例如,如果您的机器由于断电而暂时停机)。如果不是这 样,可能需要置换整个的数据目录(例如,如果某个磁盘瘫痪而且数据目录在它上)。在其他情况下也需要恢复操作,例如,当用户错误地删除数据库或表时,或者 错误地删除表的内容时。不论这些不幸的事件发生是由于什么原因,都需要恢复它们。如果表被毁坏但没有丢失,可试着用myisamchk 或isamchk 来修复它们。如果修复实用程序能修复它们,就根本没有必要使用备份文件。如果表被丢失或不能修复,则需要恢复它们。恢复过程包括两个信息源:备份文件和更新日志。备份文件将表恢复到进行该备份时的状态。但是,在备份和故障发生这段时间中,表通常已经被修改。 更新日志包含了用来完成这些修改的查询。可以通过将更新日志作为对mysql的输入来重复这些查询(这就是为什么需要更新日志的原因。如果您还没有使更新 日志有效,现在赶快做,并在进一步读取之前生成一个新的备份)。恢复过程根据必须恢复的信息的多少而变化。事实上,恢复整个数据库比恢复单个的表要容易,因为对数据库应用更新日志比对表要容易。恢复整个数据库首先,如果要恢复的数据库是含有授权表的mysql数据库,将需要使用--skip-grant-tables选项运行服务器。否则,服务器将 抱怨无法找到授权表。在恢复表之后,执行mysqladmin flush-privileges 来告诉服务器加载授权表,并用它们启动。将原数据库目录的内容拷贝到其他的地方。例如,您可能会在稍后用它们进行崩溃表的事后分析检查(post-mortem examination)。用最新的备份文件重新加载数据库。如果您打算使用由mysqldump 加载的文件,则需要将它们作为mysql的输入。如果打算使用从数据库中直接拷贝的文件(如,用tar 或c p),则将它们直接拷贝回到该数据库目录中。但是,在这种情况下,应该在拷贝这些文件之前关闭服务器,然后再重新启动它。用更新日志重做在进行备份后又修改了数据库表的查询。对于所有可用的更新日志,可使用它作为mysql的输入。指定--one- database 选项,使mysql只对想要恢复的数据库执行查询。如果您知道需要使用所有的更新日志文件,可在包含日志的目录中使用下列命令:% ls-t-r-l update.(0-9)* | xargs cat | mysql--one-database db_namels 命令产生更新日志文件的单列列表,更新日志文件根据服务器生成的顺序进行排序(要知道,如果您修改了其中的任何文件,排序的顺序都将改变,这将导致更新日志按错误的顺序使用)。您很可能必须使用某些更新日志。例如,如果自备份以来所产生的日志命名为update.392、pdate.393 等等,可以重新运行它们中的命令: % mysql--one-database db_name 如果正在运行恢复并打算使用更新日志恢复由于失策的DROP DATA BASE、DROPTABLE或DELETE 语句而丢失的信息,应确保先从更新日志中删除这些语句。恢复单个的表恢复单个表是很困难的。如果有通过mysqldump 生成的备份文件并且它恰好不包含您想要的表数据,则需要抽取相关的行并用它们作为mysql的输入,这部分较容易。困难的是抽取应用于该表的更新日志的片 段。您会发现: mysql_find_rows 实用程序对这方面有帮助,它可以从更新日志中抽取多行查询。另一种可能性是用另一个服务器恢复整个数据库,然后将所要的该表的文件拷贝到原始数据库中。这实际很容易!在将文件拷贝回数据库目录时,应确保原始数据库的服务器关闭。 , 2023-07-27
mengvlog 阅读 8 次 更新于 2025-07-20 16:10:29 我来答关注问题0
  •  阿暄生活 Mysql如何使用phpMyadmin进行数据库的备份恢复

    登录phpMyAdmin:首先,在浏览器中打开phpMyAdmin的登录页面,输入正确的数据库用户名和密码,点击“执行”进行登录。选择数据库:登录成功后,在左侧列表中找到需要备份的数据库名称,例如“dedecmsv57utf8sp1”,并点击它。导出数据库:进入数据库管理页面后,点击页面上方的“导出”标签。在导出参数设置区域...

  • 在该文件中编写MySQL数据库的备份命令,例如使用mysqldump工具。备份命令的基本格式如下:batchmysqldump u [用户名] p[密码] [数据库名] > [备份文件路径]backup_[日期].sql其中,[用户名]替换为你的MySQL用户名,[密码]替换为你的MySQL密码,[数据库名]替换为你要备份的数据库名,[备份文件路径]...

  •  翡希信息咨询 Mysql如何使用phpMyadmin进行数据库的备份恢复

    备份数据库:1. 登录phpMyAdmin:输入数据库的用户名和密码,点击“执行”登录phpMyAdmin。2. 选择数据库:在phpMyAdmin左侧的数据库列表中,点击要备份的数据库名称。3. 导出数据库:进入数据库管理页面后,点击上方的“导出”选项卡。在导出参数设置区域,如无特殊要求,保持默认设置即可。然后点击右下侧的...

  •  深空见闻 mysql有哪些热备的方式

    基于主从复制的热备:这种方式依赖于MySQL的主从复制机制,通过配置主库(Master)和从库(Slave/Replica)来实现数据同步。主库负责处理所有的数据变更操作,并记录这些操作到二进制日志(Binary Log)中。从库则负责接收主库的二进制日志,并重放这些日志以实现数据的同步。在热备状态下,从库能够实时或...

  • 【答案】:您好,有一个方法供您参考!启动phpMyAdmin察看HostA和HostB中的数据库列表,在HostB中没有TestA数据库,找到HostA中MySQL的安装目录,并找到数据库目录data,然后,在C:MySQL data 找到对应数据库名称的子目录C:MySQLdataTestA,粘贴拷贝到HostB的Data目录下,是HostA同HostB MySQL数据目录下的...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部