Mysql数据库备份策略
来源:互联网 发布:通古斯大爆炸知乎 编辑:程序博客网 时间:2024/04/30 13:15
Mysql数据库备份策略
我的petstore所用的数据库是Mysql。Mysql的数据库备份不象那些企业界数据库那样完善,分为完全备份、差分备份以及日记纪录等等。Mysql备份数据库两个主要方法是用mysqldump程序或直接拷贝数据库文件。
mysqldump与MySQL服务器协同操作。直接拷贝方法在服务器外部进行,并且你必须采取措施保证没有客户正在修改你将拷贝的表。如果你想用文件系统备份来备份数据库,也会发生同样的问题:如果数据库表在文件系统备份过程中被修改,进入备份的表文件主语不一致的状态,而对以后的恢复表将失去意义。文件系统备份与直接拷贝文件的区别是对后者你完全控制了备份过程,这样你能采取措施确保服务器让表不受干扰。
利用Mysql备份与拷贝数据库的语句为:
>mysqldump –u用户名 –p密码数据库名 > 备份文件名
拿petstore来说:
>mysqldump –u root –p **** petstore >petstore.sql
事实上mysql备份只是成一个文本文件,比如petstore备份的结果文件petstore.sql的开头如下:
-- MySQL dump 10.9
--
-- Host: localhost Database: petstore
-- ------------------------------------------------------
-- Server version 4.1.11-nt
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `account`
--
DROP TABLE IF EXISTS `account`;
CREATE TABLE `account` (
`userid` varchar(25) NOT NULL default '',
`email` varchar(80) NOT NULL default '',
`fullname` varchar(80) NOT NULL default '',
`country` varchar(20) NOT NULL default '',
`city` varchar(80) NOT NULL default '',
`address` varchar(80) NOT NULL default '',
`zip` varchar(20) NOT NULL default '',
`phone` varchar(80) NOT NULL default '',
PRIMARY KEY (`userid`),
CONSTRAINT `fk_account` FOREIGN KEY (`userid`) REFERENCES `client` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
--
-- Dumping data for table `account`
--
/*!40000 ALTER TABLE `account` DISABLE KEYS */;
LOCK TABLES `account` WRITE;
INSERT INTO `account` VALUES ('...');
UNLOCK TABLES;
/*!40000 ALTER TABLE `account` ENABLE KEYS */;
由此可见,mysql备份的结果就是sql查询语句,文件剩下的部分有更多的INSERT和CREATE TABLE语句组成。
当想恢复数据库时只要执行以下步骤即可:
>mysql –h localhost –r root –p ****
Mysql>use petstore;
Mysql>source petstore.sql;
此时数据库就恢复到备份之前的状态。
如果想自动备份,可以写一个脚本,每隔一定时间就备份一次,window下可以写个批处理,linux下可以写个bash 脚本。
- Mysql数据库备份策略
- mysql数据库的备份策略
- mysql数据库备份策略及应用场景
- MySQL 备份和恢复策略二:使用mysqlhotcopy备份数据库
- MySQL 备份和恢复策略三、使用mysqldump备份数据库
- MySQL 备份和恢复策略二:使用mysqlhotcopy备份数据库
- ORACLE数据库备份策略
- 数据库部分备份策略
- 数据库备份基本策略
- 数据库备份策略
- 数据库备份策略
- 数据库备份策略
- mysql 备份恢复策略
- MySQl备份恢复策略
- mysql备份/恢复策略
- MySQL 备份和恢复策略四:使用主从复制机制(replication)实现数据库实时备份
- MySQL 备份和恢复策略
- MySQL备份和还原策略
- “从HTML到EXCEL”——数据转存EXCEL的新思路
- 初级主管应该看的文章(zz)
- [ASP.NET][VS2003]无法创建脱机缓存
- 大学食堂留言薄上的经典 转载
- Symbian的分层
- Mysql数据库备份策略
- xmldom的一个小用法
- 心酸的祝福.....
- UML Tutorial (From Borland)
- OpenGL工作流程 翻译自蓝宝书
- 心意小写
- 娱乐大众
- 【原创】用MASM32写的黑屏保护程序
- 在VB6中动态创建使用ADO控件访问数据库