如何使用mysqldump备份和还原MySQL或者MariaDB数据库

时间:2020-02-23 14:32:08  来源:igfitidea点击:

在本教程中,我们将学习使用mysqldump备份和还原MySQL或者MariaDB数据库。

我们将从首先仅备份数据库结构开始。
通过这种方式,我们意味着没有数据库表内的数据。

接下来,我们将学习备份数据库结构以及其中保存的数据。

最后,我们将学习使用创建的数据库备份转储将数据还原到数据库中。

备份MySQL或者MariaDB数据库结构

在以下示例中,我们将备份MySQL或者MariaDB数据库结构。

$mysqldump -u [username] -p --no-data [databaseName] > [dumpFileName.sql]

注意!在终端中运行上述命令时,系统将提示您输入密码。

假设我们要备份mydb数据库并将其保存在mydb_dump.sql文件中。
假设用户名和密码分别为dbuser和dbpassword。
因此,我们将在终端中运行以下命令。

$mysqldump -u dbuser -p --no-data mydb > mydb_dump.sql

如果要在特定位置创建转储文件,则必须编写完整路径,如/workspace/database/mydb_dump.sql,然后将创建转储。

备份多个MySQL或者MariaDB数据库结构

为了对多个数据库进行结构备份,我们使用以下内容。

$mysqldump -u [username] -p --no-data --databases databaseName1 databaseName2 ... > [dumpFileName.sql]

在以下示例中,我们将备份3个数据库mydb,blogdb和wpdb。

$mysqldump -u dbuser -p --no-data --databases mydb blogdb wpdb > mydb_blogdb_wpdb_dump.sql

备份所有MySQL或者MariaDB数据库结构

为了备份所有数据库结构,我们使用以下内容。

$mysqldump -u [username] -p --no-data --all-databases > [dumpFileName.sql]

在以下示例中,我们将备份所有数据库。

$mysqldump -u dbuser -p --no-data --all-databases > alldb_dump.sql

备份MySQL或者MariaDB数据库结构和数据

为了备份数据库结构和数据,我们删除了--no-data选项。

$mysqldump -u [username] -p [databaseName] > [dumpFileName.sql]

在以下示例中,我们将备份mydb数据库结构和数据。

$mysqldump -u dbuser -p mydb > dbdump.sql

恢复MySQL或者MariaDB数据库中的数据

要恢复首次登录到MySQL或者MariaDB并创建数据库,然后退出,然后运行以下命令。

$mysql -u [username] -p [databaseName] < [dumpFileName.sql]

在以下示例中,我们将还原mydb数据库中的数据。

$mysql -u dbuser -p mydb < mydb_dump.sql

完整命令:

$mysql -u root -p
Enter password:

mysql> create database mydb;

mysql> exit

$mysql -u dbuser -p mydb < mydb_dump.sql