如何使用命令行备份和恢复 MySQL 数据库

在本教程中,我们将向您展示如何使用命令行备份和恢复 MySQL 数据库。 对于那些不知道的人,MySQL 是由 Oracle 开发的开源数据库,而 MariaDB 是它的一个分支,其工作方式与 MySQL 类似,并且使用相同的命令行。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo‘ 到命令以获取 root 权限。 我将向您展示在 Linux 服务器上逐步安装备份和恢复 MySQL。

先决条件

  • 运行以下操作系统之一的服务器:Ubuntu 和任何其他基于 Debian 的发行版或 CentOS Linux。
  • 建议您使用全新的操作系统安装来防止任何潜在问题。
  • 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
  • 一种 non-root sudo user或访问 root user. 我们建议充当 non-root sudo user,但是,如果您在充当 root 时不小心,可能会损害您的系统。

该命令的参数如下。

  • [uname] 您的数据库用户名。
  • [passwd] 数据库的密码(注意 -p 和密码之间没有空格)。
  • [dbname] 您的数据库的名称。
  • [backupdb.sql] 数据库备份的文件名。

使用命令行备份和恢复 MySQL 数据库

  • 备份 MySQL/MariaDB 数据库

首先,您可以从您的服务器检查 MySQL 数据库:

mysql -h localhost -u root -p
mysql> show databases;

以下命令会将所有数据库转储到 SQL 文件中。 将 pass 替换为您的 root 数据库密码,并将文件名替换为您希望创建的文件的名称,例如 backupdb.sql

在 MySQL 中备份多个数据库

$ mysqldump –u[uname] –p[passwd] [database name 1] [database name 2] > backup.sql

例子:

$ mysqldump –u root –pidroidus chedelics radiks > backup.sql

备份 MySQL 中的所有数据库

$ mysqldump –u [uname] –p[passwd] –all-databases > backup.sql

例子:

$ mysqldump –u root –pidroidus –all-databases > backup.sql

使用 Compress 备份您的 MySQL 数据库

$ mysqldump -u root -p[passwd] --databases [dbname] | gzip > backup.sql.gz

例子:

$ mysqldump -u root -pidroidus --databases  | gzip > backup.sql.gz
  • 从备份文件恢复 MySQL/MariaDB 数据库

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

  • 在目标机器上创建一个适当命名的数据库
  • 使用 mysql 命令:
$ mysqladmin -u root -p create [dbname]
$ gzip -d backupdb.sql.gz #mysql -uroot -p[passwd] [dbname] < backupdb.sql

例子:

$ mysqladmin -u root -p create chedelics
$ gzip -d backupdb.sql.gz
$ backupdb.sql
$ mysql -uroot -pidroidus chedelics < backupdb.sql

感谢您使用本教程使用命令行备份和恢复 MySQL/MariaDB 数据库。 如需更多帮助或有用信息,我们建议您查看 MySQL 官方网站.

Save