mysql Backup &recovery

如果您要在MySQL数据库中存储任何您不想丢失的内容,那么定期备份数据以保护数据免受损失非常重要。本教程将向您展示两种简单的方法来备份和恢复MySQL数据库中的数据。您还可以使用此过程将数据移动到新的Web服务器。

从命令行备份(使用mysqldump)

如果您具有对Web服务器的shell或telnet访问权限,则可以使用mysqldump命令备份MySQL数据。此命令连接到MySQL服务器并创建SQL转储文件。转储文件包含重新创建数据库所需的SQL语句。这是正确的语法:

$ mysqldump --opt -u [uname] -p [pass] [dbname]> [backupfile.sql]
  • [uname]您的数据库用户名
  • [pass]数据库的密码(注意-p和密码之间没有空格)
  • [dbname]数据库的名称
  • [backupfile.sql]数据库备份的文件名
  • [--opt] mysqldump选项

例如,要使用用户名“root”并且没有密码将名为“Tutorials”的数据库备份到文件tut_backup.sql,您应该完成以下命令:

$ mysqldump -u root -p Tutorials> tut_backup.sql

此命令将“Tutorials”数据库备份到名为tut_backup.sql的文件中,该文件将包含重新创建数据库所需的所有SQL语句。

使用mysqldump命令,您可以指定要备份的数据库的某些表。例如,要从“Tutorials”数据库中仅备份php_tutorials和asp_tutorials表,请完成以下命令。每个表名必须用空格分隔。

$ mysqldump -u root -p教程php_tutorials asp_tutorials> tut_backup.sql

有时需要一次备份多个数据库。在这种情况下,您可以使用--database选项,后跟要备份的数据库列表。每个数据库名称必须用空格分隔。

$ mysqldump -u root -p --databases教程文章评论> content_backup.sql

如果要一次备份服务器中的所有数据库,则应使用--all-databases选项。它告诉MySQL转储它在存储中的所有数据库。

$ mysqldump -u root -p --all-databases> alldb_backup.sql

mysqldump命令还有一些其他有用的选项:

--add-drop-table:告诉MySQL在转储中的每个CREATE TABLE之前添加DROP TABLE语句。

--no-data:只转储数据库结构,而不转储内容。

--add-locks:添加您可以在转储文件中看到的LOCK TABLES和UNLOCK TABLES语句。

mysqldump命令有优点和缺点。使用mysqldump的优点是它易于使用,它可以解决您的表锁定问题。缺点是命令锁定表。如果你的表的大小非常大,mysqldump可以锁定用户很长一段时间。

使用Compress备份MySQL数据库

如果你的mysql数据库非常大,你可能想要压缩mysqldump的输出。只需使用下面的mysql backup命令并将输出传递给gzip,然后您将获得输出为gzip文件。

$ mysqldump -u [uname] -p [pass] [dbname] | gzip -9> [backupfile.sql.gz]

如果要提取.gz文件,请使用以下命令:

$ gunzip [backupfile.sql.gz]

恢复MySQL数据库

上面我们将Tutorials数据库备份到tut_backup.sql文件中。要重新创建Tutorials数据库,您应该遵循以下两个步骤:

  • 在目标计算机上创建适当命名的数据库
  • 使用mysql命令加载文件:
$ mysql -u [uname] -p [pass] [db_to_restore] <[backupfile.sql]

看看如何将tut_backup.sql文件恢复到Tutorials数据库。

$ mysql -u root -p Tutorials <tut_backup.sql

要恢复压缩备份文件,您可以执行以下操作:

gunzip <[backupfile.sql.gz] | mysql -u [uname] -p [pass] [dbname]

如果需要还原已存在的数据库,则需要使用mysqlimport命令。mysqlimport的语法如下:

mysqlimport -u [uname] -p [pass] [dbname] [backupfile.sql]

使用PHPMyAdmin备份和恢复

由于许多Web服务提供商使用它,因此假设您安装了phpMyAdmin要使用PHPMyAdmin备份MySQL数据库,只需按照以下几个步骤操作:

  • 打开phpMyAdmin。
  • 通过单击屏幕左侧列表中的数据库名称来选择数据库。
  • 单击“导出”链接。这应该会显示一个新的屏幕,显示View dump of database(或类似的东西)。
  • 在“导出”区域中,单击“全选”链接以选择数据库中的所有表。
  • 在SQL选项区域中,单击右侧选项。
  • 单击“另存为文件”选项和相应的压缩选项,然后单击“转到”按钮。应出现一个对话框,提示您在本地保存文件。

恢复数据库很容易,也可以备份。进行以下操作:

  • 打开phpMyAdmin。
  • 创建一个适当命名的数据库,然后通过单击屏幕左侧列表中的数据库名称来选择它。如果要在现有数据库上重写备份,请单击数据库名称,选中表名旁边的所有复选框,然后选择“删除”以删除数据库中的所有现有表。
  • 单击SQL链接。这应该会显示一个新屏幕,您可以在其中键入SQL命令或上载SQL文件。
  • 使用浏览按钮查找数据库文件。
  • 单击“Go”按钮。这将上载备份,执行SQL命令并重新创建数据库。

MySQL备份软件

如果您管理多个MySQL服务器,则可以考虑使用MySQL备份的商业解决方案一种解决方案可能是Backup Bird。它是一个完整的云服务器备份服务,可监控每个备份的进度并备份您的文件以及数据库。

原文链接:http://webcheatsheet.com/sql/mysql_backup_restore.php

posted @ 2019-05-28 13:28  秋宝。  阅读(255)  评论(0编辑  收藏  举报