欢迎来到天天文库
浏览记录
ID:14220030
大小:63.00 KB
页数:5页
时间:2018-07-26
《mysql入门系列:备份和拷贝mysql数据库》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Mysql入门系列:备份和拷贝MYSQL数据库重要的是在表丢失和毁坏时备份数据库。如果系统发生崩溃,您就能够将表恢复到崩溃时刻的状态,并尽可能不丢失数据。同样,错发DROPDATABASE或DROPTABLE命令的用户可能会向您请求进行数据恢复。有时,这是由MySQL管理员引起的破坏,管理员试图通过使用像vi或emacs这样的编辑器直接编辑表文件而毁坏了它们。这样做对表来说肯定是干了坏事。 备份数据库的两种主要方法是使用mysqldump程序或直接拷贝数据库文件(如便用cp、tar或cpio)。每种方法都有自己的优点和缺点: mysqldump与MySQL
2、服务器联合进行操作。直接拷贝方法与服务器相脱离,因此必须采取措施确保在进行拷贝时没有客户机在修改这些表。这个问题与利用文件系统备份来备份数据库的问题相同:如果数据库表在文件系统备份时进行更新,则进行备份的表文件处于非一致的状态,并且对于今后恢复该表没有意义。文件系统备份和直接拷贝文件的区别是:对于后者,您具有控制备份进度的权利,因此可以采取措施确保服务器使表处于静止状态。 mysqldump比直接拷贝技术要慢。 mysqldump产生可移植到其他机器、甚至具有不同硬件结构的机器上的文本文件。直接拷贝文件不能够移植到其他机器上,除非要拷贝的表使用MyISAM
3、存储格式。ISAM表只能在具有相同硬件结构的机器之间进行拷贝。例如,将文件从SPARC的Solaris机器拷贝到Intel的Solaris机器(或者相反)是行不通的。由MySQL3.23引进的MyISAM表存储格式可以解决这个问题,因为该格式与机器独立。因此,如果以下两个条件都满足的话,直接拷贝文件可以移植到具有不同硬件结构的机器上:即另一台机器上也必须运行MySQL3.23以上的版本,并且文件必须表示成MyISAM表,而不是ISAM表。不论选择哪种备份方法,都有某些原则,您必须坚持这些原则,才能确保在需要恢复数据库内容时得到最好的结果: 定期执行备份。设置
4、一个时间表并坚持使用它。 告诉服务器运行更新日志。更新日志在您需要恢复崩溃后的数据库时给予帮助。在使用备份文件将数据库恢复到备份时刻的状态后,可以通过运行更新日志中的查询,重新运行备份之后所做的改变。这个操作将数据库中的表恢复到了崩溃时刻的状态。在文件系统备份语言中,数据库备份文件表示完全转储(fulldump),而更新日志则表示增量转储。 使用一致和可理解的备份文件命名模式。像backup1、backup2等名字没有特殊的含义。当需要它执行恢复时,还得浪费时间去查看文件中的内容。您会发现使用数据库名和花时间去构造备份文件名是有好处的。例如: %mysq
5、ldumpsamp_db>/usr/archives/mysql/samp_db.1999-10-02 %mysqldumpmenagerie>/usr/archives/mysql/menagerie.1999-10-02 在产生备份文件后您可能需要将它们压缩。毕竟备份文件都比较大,所以您可能还需要终止备份文件以避免它们填满磁盘,这与终止日志文件类似。您可以用相同的技术终止备份文件: 用文件系统备份来备份您的备份文件。如果您遭受了一个完全崩溃,不仅毁坏了数据目录而且还破坏了包含数据库备份的磁盘驱动器,那将造成真正的麻烦。您还应该备份更新日志。 将备份
6、文件放在与您的数据库不同的文件系统上。这将减少含有数据字典的文件系统被生成的备份文件填满的可能性。 创建备份的技术对于将数据库拷贝到另一个服务器上也是很有帮助的。将数据库转移到运行在另一个主机上的服务器是很平常的,但您还可以将数据转移到运行在相同主机上的另一个服务器。如果正为一个新版本的MySQL运行服务器,并且想用成品服务器上的某些真实数据来测试它时,可能会这样做。还有一种可能,那就是您得到了一台新的机器并要将所有的数据库移动到新机器上。用mysqldump备份和拷贝数据库 当使用mysqldump程序产生数据库备份文件时,缺省设置是该文件的内容由CRE
7、ATETABLE语句组成,这些语句创建被转储的表以及包含表中的行数据的INSERT语句。换句话说,mysqldump创建在今后可作为对mysql的输入使用的输出结果,以重建数据库。 可以将整个数据库按以下命令转储到单独的文本文件中: 该文件的其余部分由更多的INSERT和CREATETABLE语句组成。 如果想在生成备份时进行压缩,可替换成类似下列的命令: %mysqldumpsamp_db
8、gzip>/usr/archives/mysql/samp_db.1999.10.02.gz 如果您有一个超大数据库,则该输出文件也将是极大的且管理起来很困
9、难。如果您喜欢的话,可以通过在mysq
此文档下载收益归作者所有