科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道教你如何备份和拷贝 MYSQL 数据库(2)

教你如何备份和拷贝 MYSQL 数据库(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

重要的是在表丢失和毁坏时备份数据库。如果系统发生崩溃,您就能够将表恢复到崩溃时刻的状态,并尽可能不丢失数据。

作者:小飞龙 来源:赛迪网技术社区 2007年9月11日

关键字: 数据库 备份和拷贝 SQL Server SQL Server 各版本

  • 评论
  • 分享微博
  • 分享邮件

创建备份的技术对于将数据库拷贝到另一个服务器上也是很有帮助的。将数据库转移到运行在另一个主机上的服务器是很平常的,但您还可以将数据转移到运行在相同主机上的另一个服务器。如果正为一个新版本的MySQL运行服务器,并且想用成品服务器上的某些真实数据来测试它时,可能会这样做。还有一种可能,那就是您得到了一台新的机器并要将所有的数据库移动到新机器上。

用mysqldump 备份和拷贝数据库

当使用mysqldump 程序产生数据库备份文件时,缺省设置是该文件的内容由CREATE TABLE语句组成,这些语句创建被转储的表以及包含表中的行数据的INSERT 语句。换句话说,mysqldump创建在今后可作为对mysql的输入使用的输出结果,以重建数据库。

可以将整个数据库按以下命令转储到单独的文本文件中:

该文件的其余部分由更多的INSERT 和CREATE TABLE 语句组成。如果想在生成备份时进行压缩,可替换成类似下列的命令:

% mysqldump samp_db | gzip > /usr/archives/mysql/samp_db.1999.10.02.gz

如果您有一个超大数据库,则该输出文件也将是极大的且管理起来很困难。如果您喜欢的话,可以通过在mysqldump命令的数据库名之后命名单个的表来转储这些表的内容。这个操作将该转储文件分成更小的、更多的可管理的文件。下面的例子将说明如何将samp_db的一些表转储到单个文件中:

% mysqldump samp_db student score event absence > gradebook.sql
% mysqldump samp_db member president > hist-league.sql

如果您正在生成备份文件并打算用这些备份文件来定期刷新另一个数据库的内容,则可能要使用--add-drop-table选项。此选项告诉mysqldump 将DROP TABLE IF EXISTS语句写到备份文件中。然后,当您取出该备份文件并将其加载到第二个数据库时,如果表已经存在将不会出现错误信息。如果您正在运行第二个数据库,可使用此技术利用从第一个数据库中的数据拷贝来定期地加载它。

如果您正在转储数据库使该数据库可以转换到另一个服务器上,则无须创建备份文件。应确保该数据库存在于另一台主机上,然后用一个管道使mysql直接读取mysqldump的输出结果来转储数据库。例如,如果想要将samp_db 数据库从pit_viper.snake.net 拷贝到boa.snake.net,操作如下:

% mysqladmin -h boa.snake.netcreate samp_db
% mysqldump samp_db | mysql-h boa.snake.net samp_db
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章