在本教程中,我们将向您展示如何使用命令行备份和恢复 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 官方网站.