Linux下Mysqldump备份和恢复MySQL数据库

数据库管理员最重要的任务之一是备份和恢复数据库。MySQL是一种流行的数据库服务器,它提供了一个名为 mysqldump 用于备份和还原操作。在本教程中,我们将研究mysqldump的不同使用类型。

Backup美臀护腰矫姿坐垫折叠式撑腰座垫久坐神器办公室坐姿矫正垫
| 月销量39件
券后278-50=228元
原价¥278

淘口令:

¥f2O8XBgsxrU¥
 

语法

mysqldump [OPTIONS] database [tables] OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] OR     mysqldump [OPTIONS] --all-databases [OPTIONS]

救命

$ mysqldump --help
Help
救命

连接远程数据库服务器

默认情况下,mysqldump将尝试连接本地MySQL服务器数据库。可以使用指定远程数据库服务器 -h 选项作为IP地址或域名。在本例中,我们将尝试连接名为 poftut1 .

$ mysqldump -h poftut1 -u root -p  mysql > back.sql

备份单个数据库

Mysqldump有很多使用可能性,但最流行的是备份单个数据库。这将只备份一个指定的数据库。我们将用数据库名指定用户名和密码。用户名将指定为 -u 用指定的选项和密码 -p 选项。我们将在这些信息之后指定数据库名称,而不使用选项。

$ mysqldump -u root -p mysql > mysql.sql
Backup Single Database
备份单个数据库

默认情况下,备份输出写入标准输出。但在本例中,我们将输出重定向到名为 mysql.sql . 备份文件是 sql 保存sql模式和数据的文件。

备份多个数据库

只需在mysqldump命令的末尾添加更多数据库,就可以备份多个数据库。在本例中,我们将备份数据库 mysql , sys . 我们将使用 --databases 选项。

$ mysqldump -u root -p --databases mysql sys  > bak.sql
Backup Multiple Databases
备份多个数据库

备份所有数据库

在前面的示例中,我们指定了多个数据库进行备份。如果需要备份数据库服务器中的所有数据库,则逐个指定它们是容易出错的工作。我们可以用 --all-databases 命令来备份所有数据库,而不逐个指定它们。

$ mysqldump -u root -p --all-databases  > bak.sql
Backup All Databases
备份所有数据库

备份单个表

有时我们的应用程序数据库只使用一个表。所有事务都在一个数据库中完成。在这种情况下,我们可能需要备份单个表。我们可以在包含表的数据库名称之后指定表名称。在本例中,我们将备份名为 general_log 它驻留在数据库中 mysql

$ mysqldump -u root -p  mysql general_log  > mysql_general_log.sql
Backup Single Table
备份单个表

备份到远程

在本地目录上备份是可行的,但有时我们可能需要将数据库备份到远程服务器。有不同的方式来备份远程目录,如scp,文件共享等,我们更喜欢一个实用的,我们将使用 ssh 命令将备份内容重定向到远程服务器。我们在命令行中提供数据库服务器的密码。在本例中,我们将复制名为 mysql 到名为的远程系统或服务器 ubu2 具有 shh 通过使用 cat > big.sql 命令。

$ mysqldump -u root -p123456  mysql | ssh ubu2 'cat > big.sql'

检查远程备份文件是否可以使用以下命令完成。

$ ssh ubu2 head big.sql
Backup To Remote
备份到远程

仅备份数据库架构

数据库、表的备份将复制数据库、表的模式以及这些表和数据库上当前存储的数据。如果数据是对我们来说不重要的测试数据,或者如果我们想创建当前数据库和表的克隆而没有数据,我们可以省略数据。我们将使用 --no-data -d 选项来指定。

$ mysqldump -u root -p -d mysql  > schema.sql
Backup Only Database Schema
仅备份数据库架构

压缩备份

创建备份需要时间和存储。特别是如果我们有多个备份,将需要大量的存储。我们知道备份文件 sql 默认设置格式。Sql是一个文本文件,具有很高的压缩率。我们可以写压缩格式的备份,这将使存储使用非常有效。我们将使用 gzip 启用msqldump压缩。

$ mysqldump -u root -p  mysql | gzip > back.gz
Compress Backup
压缩备份

压缩服务器客户端传输

另一个有用的性能选项是mysqldump客户端和MySQL服务器之间的压缩传输。由于通过网络压缩传输数据时可能会有大量的数据,因此这是提高网络性能的一个好习惯。我们将使用 -C --compress 启用压缩的选项。

$ mysqldump -h localhost -u root -p  mysql -C > back.sql

强制备份操作

进行备份时,有时会出现错误或警告。这些警告和错误可能会中断备份过程b$mysql-h poftut1-u root-p -f 选项强制和忽略错误和警告。

$ mysqldump -u root -p -f  mysql > back.sql

恢复和导入数据库

我们将使用 mysql 用于还原数据库的工具。我们假设备份在 Sql 格式。我们将重新定向 mysql命令的备份文件。在使用mysql命令时,我们需要用 -u 和密码 -p 选项。

$ mysql -u root -p < back.sql

还原远程数据库

为了将数据库还原到远程数据库服务器,我们将指定远程数据库服务器IP地址或主机名。为了指定IP地址或主机名,我们将使用 -h 选项。在本例中,我们使用名为 poftut1

$ mysql -h poftut1 -u root -p < back.sql

相关文章: MySQL的默认端口号是什么?

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享