如何从包含大量记录的mysql数据库中获取备份?

时间:2014-08-13 08:53:48

标签: mysql sqlyog

我的mysql数据库中有10k记录,当我尝试从sqlyog或下面的命令进行备份时

mysqldump -u <user-name> -p<password> <database-name> > <fine-name>

输出文件没有正确形成,如下所示,如果我尝试在另一个数据库中导入此文件,则给出错误。当我有少量记录时,它的工作正常。

º=Ã\0è÷\0\0\0a¼\0\'Å“X\0`Å“D\0öd\0`ìDŽ\'VÄii   \0Æ\'\0OÅ“(\0`|q‚\0€ñʼn\0Æ\0\0\0\0\0—à\0ÂóbK´´ÃÀø\Zۖ  4,\0ãhP\0Æ+$  ‹±Ãуr<\0Å’k\Z\n\0×\0\0!\0\0\0\0@`{>ˆß{÷}¥ýÕŽz1\'¶SdÜ€\0 ã>\Z,έ{@Ë€(ð‹­û•öÒÃq`tLìê7>%>•_\"’\0ÂÑü x‡2öß\Zoß¾ý\rñéÿÖhë—¬¯t¤%€\0\0Hw^x«RiÂ\\ºê˜(øÑØÑíørqµHËf0Ù¹ii ;\'Ã*íøäâ€c²˜€ŒÇ?÷lÃMñgUûDr‚ \0   @\0HÞ>ò‰ÒNÆãâÌÛ^7·À÷\nÅñqqU}“H‹\0éɼ¢%FZÂÊÂ7ïUÚ‘ñ  ÑÉ„¦¹­.ü¸YüÆêÂ\"Ù‘6A*îBÅ’YÕñi÷\rqfˆ%ln¯\r·&&Ã…Ãg.Šæísè\Z:ãò„\0Â\0$O\0ÂÇóë6)mÃÅ.ÑLbž-Ì’\r¼ÙÂ1Ñ×NÃ…o‹­×ûÄ—Kvˆœ©CýˆU§Î+­yÙ‘(ļàl¡8Wš¿ïì_«>àH¾ð€ \0xá7µ)íèĤ8W0Ãx6Ÿ   &úÜëC·×<.r€\0{<]Pð ––€0òÕ{â€Â¶{`XÅ“+´æ\n·d^‚ø¹¾c““bùñ3⟼Y&’7\0ð¼ôîûÊØòÙ\rq®«9ÃñüN–ž+<\'¦â¢)»õý¢m\"g\0@Hžì¼

你能帮我任何人备份我的数据库。 提前谢谢。

3 个答案:

答案 0 :(得分:1)

以下命令将有助于进行数据库转储。

     mysqldump -u<username> -p<password> <databasename> > targetfilename.sql

答案 1 :(得分:0)

如果它的数据库非常庞大,它可以为物理文件备份。 执行以下活动。 搜索以下文件(您应该在服务器未运行时执行此操作。)

XYZ.frm
XYZ.MYD
XYZ.MYI

其中XYZ是数据库的名称。 将它复制到其他位置,你就完成了。

您也可以使用命令mysqlhotcopy来实现相同的目标 它非常快速可靠。

有关信息,请转到mysqlhotcopy

shell> mysqlhotcopy db_name [/path/to/new_directory]
shell> mysqlhotcopy db_name_1 ... db_name_n /path/to/new_directory

要恢复相同的数据,您可以再次安装数据库。

MySQL表是三个文件的组合:

FRM文件是表格定义 MYD文件是存储实际数据的位置 MYI文件是存储在表上创建的索引的位置 您应该可以通过将它们复制到数据库文件夹中来进行恢复。

答案 2 :(得分:0)

另一个可行的选择是使用phpMyAdmin导出功能将表导出到一个文件。我发现这比通过终端手动查找文件要简单得多。只需登录phpMyAdmin并点击导出即可。就这么简单。