如果您要在MySQL数据库中存储任何您不想丢失的内容,那么定期备份数据以保护数据免受损失非常重要。本教程将向您展示两种简单的方法来备份和恢复MySQL数据库中的数据。您还可以使用此过程将数据移动到新的Web服务器。
如果您具有对Web服务器的shell或telnet访问权限,则可以使用mysqldump命令备份MySQL数据。此命令连接到MySQL服务器并创建SQL转储文件。转储文件包含重新创建数据库所需的SQL语句。这是正确的语法: $ mysqldump --opt -u [uname] -p [pass] [dbname]> [backupfile.sql]
例如,要使用用户名“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可以锁定用户很长一段时间。 如果你的mysql数据库非常大,你可能想要压缩mysqldump的输出。只需使用下面的mysql backup命令并将输出传递给gzip,然后您将获得输出为gzip文件。 $ mysqldump -u [uname] -p [pass] [dbname] | gzip -9> [backupfile.sql.gz] 如果要提取.gz文件,请使用以下命令: $ gunzip [backupfile.sql.gz] 上面我们将Tutorials数据库备份到tut_backup.sql文件中。要重新创建Tutorials数据库,您应该遵循以下两个步骤:
$ 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数据库,只需按照以下几个步骤操作:
恢复数据库很容易,也可以备份。进行以下操作:
MySQL备份软件 如果您管理多个MySQL服务器,则可以考虑使用MySQL备份的商业解决方案。一种解决方案可能是Backup Bird。它是一个完整的云服务器备份服务,可监控每个备份的进度并备份您的文件以及数据库。 |
原文链接:http://webcheatsheet.com/sql/mysql_backup_restore.php