Make Www.Edu-cn.Com Your Home Page!
用户名: 密码: 验证码: 注册
  当前位置: > 中国教程网>数据库>Mysql> MySQL数据库和备份与恢复

MySQL数据库和备份与恢复

作者:未知   来源:中国教程网   点击:   日期:2007-04-02

   #
   # Host: localhost Database: samp_db
   #---------------------------------------
   # Server version 3.23.2-alpha-log
   #
   # Table structure for table absence
   #
   CREATE TABLE absence(
   student_id int(10) unsigned DEFAULT 0 NOT NULL,
   date date DEFAULT 0000-00-00 NOT NULL,
   PRIMARY KEY (student_id,date)
   );
   #
   # Dumping data for table absence
   #
   INSERT INTO absence VALUES (3,1999-09-03);
   INSERT INTO absence VALUES (5,1999-09-03);
   INSERT INTO absence VALUES (10,1999-09-08);
   ......  edu4u.com.cn

  文件剩下的部分有更多的INSERT和CREATE TABLE语句组成。

中国教程网

  如果你想压缩备份,使用类似如下的命令: edu-cn.com

  %mysqldump samp_db | gzip >/usr/archives/mysql/samp_db.1999-10-02.gz www.edu4u.com.cn

  如果你要一个庞大的数据库,输出文件也将很庞大,可能难于管理。如果你愿意,你可以在mysqldump命令行的数据库名后列出单独的表名来倾到它们的内容,这将倾倒文件分成较小、更易于管理的文件。下例显示如何将samp_db数据库的一些表倾到进分开的文件中: edu-cn.com

  %mysqldump samp_db student score event absence >grap.sql
   %mysqldump samp_db member president >hist-league.sql 中国教程网

  如果你生成准备用于定期刷新另一个数据库内容的备份文件,你可能想用--add-drop-table选项。这告诉服务器将DROP TABLE IF EXISTS语句写入备份文件,然后,当你取出备份文件并把它装载进第二个数据库时,如果表已经存在,你不会得到一个错误。 漂亮MM女性网

  如果你倒出一个数据库以便能把数据库转移到另一个服务器,你甚至不必创建备份文件。要保证数据库存在于另一台主机,然后用管道倾倒数据库,这样mysql能直接读取mysqldump的输出。例如:你想从主机pit-viper.snake.net拷贝数据库samp_db到boa.snake.net,可以这样很容易做到: 漂亮MM女性网

  %mysqladmin -h boa.snake.net create samp_db
   %mysqldump samp_db | mysql -h boa.snake.net samp_db

www.edu-cn.com

  以后,如果你想再次刷新boa.snake.net上的数据库,跳过mysqladmin命令,但要对mysqldump加上--add-drop-table以避免的得到表已存在的错误:
%mysqldump --add-drop-table samp_db | mysql -h boa.snake.net samp_db
mysqldump其它有用的选项包括: www.edu-cn.com

  --flush-logs和--lock-tables组合将对你的数据库检查点有帮助。--lock-tables锁定你正在倾倒的所有表,而--flush-logs关闭并重新打开更新日志文件,新的更新日志将只包括从备份点起的修改数据库的查询。这将设置你的更新日志检查点位备份时间。(然而如果你有需要执行个更新的客户,锁定所有表对备份期间的客户访问不是件好事。)

AOE3 STUDIO

  如果你使用--flush-logs设置检查点到备份时,有可能最好是倾倒整个数据库。如果你倾倒单独的文件,较难将更新日志检查点与备份文件同步。在恢复期间,你通常按数据库为基础提取更新日志内容,对单个表没有提取更新的选择,所以你必须自己提取它们。
  缺省地,mysqldump在写入前将一个表的整个内容读进内存。这通常确实不必要,并且实际上如果你有一个大表,几乎是失败的。你可用--quick选项告诉mysqldump只要它检索出一行就写出每一行。为了进一步优化倾倒过程,使用--opt而不是--quick。--opt选项打开其它选项,加速数据的倾倒和把它们读回。 www.edu-cn.com

  用--opt实施备份可能是最常用的方法,因为备份速度上的优势。然而,要警告你,--opt选项确实有代价,--opt优化的是你的备份过程,不是其他客户对数据库的访问。--opt选项通过一次锁定所有表阻止任何人更新你正在倾倒的任何表。你可在一般数据库访问上很容易看到其效果。当你的数据库一般非常频繁地使用,只是一天一次地调节备份。

漂亮MM女性网


共4页: 上一页 [1] 2 [3] [4] 下一页
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   最新文章:
·如何在windows系统下安装MySQL(04-02)
·MySQL各存储引擎(INNODB,MyISAM等)的(04-02)
·如何远程连接SQL Server数据库(04-02)
·怎样在Mysql中直接储存图片(04-02)
·MySQL服务器的启动和关闭(04-02)
·MySQL 如何从表中取出随机数据(04-02)
·使用MySql ODBC进行MYsql和MS sql7的(04-02)
·Mysql中的临时表使用方法讲解(04-02)
·MySQL怎样处理一个溢出的磁盘(04-02)
·怎样在vc、delphi中使用mysql(mysql (04-02)
   相关文章:
·mysql数据复制到access数据库 ·如何远程连接SQL Server数据库
·MySQL优化全攻略-服务器参数调整 ·MY SQL常用命令
·MySQL优化全攻略-相关数据库命令 ·MySQL5 改密码后不能登录问题的解答
·MySQL怎样处理一个溢出的磁盘 ·如何在windows系统下安装MySQL
·如何锁定MYSQL数据表 ·MySQL各存储引擎(INNODB,MyISAM等)的区别

   文章评论:(0条)
  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。

 §最新评论:

  责任编辑:中国教程网  

© 2007 Copyright 中国教育网
DesignBy:AOE3 STUDIO & ROCOCO