六月 3rd, 2019

对于大多数现代网站和网络应用,它们在运行中使用的大部分数据都存储在一个数据库中。MySQL或其分支MariaDB是大多数网站所使用的数据库,这些数据库程序将数据存储在独立服务器文件系统上的特殊文件中。由于数据库定期将数据存储在内存中,并定期向磁盘写入数据,最终可能会得到不一致的数据库,甚至在最坏的情况下是损坏和无用的数据库,因此我们需要进行数据库备份,本文Hostease美国服务器商主要介绍一下如何使用Mysqldump备份网站数据。

mysqldump工具获取数据库的内容并将其保存为文件,这个文件将包含在运行命令时重新创建数据库所需的所有SQL语句(数据库指令),这通常会导致文件比以前的数据库大得多,但其优点是可以导入到几乎任何其他版MySQL/MariaDB中。幸运的是,这个工具通常是作为MySQL/MariaDB安装的一部分安装在独立服务器上的,因此不需要单独进行安装。以下是几个命令使用示例。

mysqldump -u root -p mydatabase

这个命令表示,mysqldump将用于转储名为*mydatabase*的数据库的内容,-u和-p标志在这里的工作方式与在普通的MySQL/MariaDB命令行客户端上的工作方式大致相同。因此,可以切换出要用于访问数据库的用户名的用户名根目录。请注意,mysqldump只是将其输出放到屏幕上,这意味着,如果用户需要,可以通过其他命令来传输输出,但对于大多数示例,只需将输出重定向到类似以下的文件:

mysqldump -u root -p mydatabase > mydatabase.sql

因此,上面的命令反映了前一个命令,但将输出写入当前工作目录中的mydatabase.sql文件。在正常情况下,可能需要转储多个数据库,为此,可以使用 *-databases*标志并在后面添加一个被空格分隔开的数据库名称列表:

mysqldump -u root -p –databases mydatabase mydatabase_2 mydatabase_4 > mydatabases.sql

不出所料,这个命令的结果是 *mydatabases.sql*文件将包含重建数据库*mydatabase*、*mydatabase_2*和*mydatabase_4*。幸运的是,如果想一次完成所有数据库的转储,有一个简单的方法:

mysqldump -u root -p –all-databases > allmydatabases.sql

然后创建文件*allmydatabases.sql*,该文件将包含完全重新创建数据库所需的所有数据。

备份了数据库之后,下一步就是将其导入到想要使用的计算机上。这可以很容易地通过*mysql*命令来完成,因为它可以通过如下方式从重定向文件内容中获取输入:

mysql -u root -p < mydatabses.sql

这将使用先前备份的所有数据来创建和填充数据库,但是有一个问题:当备份单个数据库时,它并不包括在读取文件时创建数据库的命令,所以在导入转储文件之前,需要先在mysql客户端中手动创建数据库。当使用*–databases*标记时,create database命令位于转储文件中,因此在转储单个数据库以包含该命令时,也可以使用该标志。

以上就是这个简单的备份指南的全部内容,同样重要的是,从MySQL或Mariadb恢复数据库。如果已经设置了自动备份,将文件从独立服务器复制到另一个独立服务器,那么有必要在此之前设置一个脚本来执行mysqldump,这样就可以确保数据库备份与文件是最新的了。更多相关内容可以了解一下 海外服务器有哪些常见的备份方法

发表评论

电子邮件地址不会被公开。 必填项已用*标注