Mysql数据库备份策略

Mysql数据库备份策略Mysql数据库备份策略我的petstore所用的数据库是Mysql。Mysql的数据库备份不象那些企业界数据库那样完善,分为完全备份、差分备份以及日记纪录等等。Mysql备份数据库两个主要方法是用mysqldump程序或直接拷贝数据库文件。mysqldump与MySQL服务器协同操作。直接拷贝方法在服务器外部进行,并且你必须采取措施保证没有客户正在修改你将拷贝的表。如果你想用文件系统备份来备份数

大家好,又见面了,我是你们的朋友全栈君。

Mysql数据库备份策略

我的petstore所用的数据库是MysqlMysql的数据库备份不象那些企业界数据库那样完善,分为完全备份、差分备份以及日记纪录等等。Mysql备份数据库两个主要方法是用mysqldump程序或直接拷贝数据库文件。

mysqldumpMySQL服务器协同操作。直接拷贝方法在服务器外部进行,并且你必须采取措施保证没有客户正在修改你将拷贝的表。如果你想用文件系统备份来备份数据库,也会发生同样的问题:如果数据库表在文件系统备份过程中被修改,进入备份的表文件主语不一致的状态,而对以后的恢复表将失去意义。文件系统备份与直接拷贝文件的区别是对后者你完全控制了备份过程,这样你能采取措施确保服务器让表不受干扰。

利用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查询语句,文件剩下的部分有更多的INSERTCREATE TABLE语句组成。

       当想恢复数据库时只要执行以下步骤即可:

>mysql –h localhost –r root –p ****

Mysql>use petstore;

Mysql>source petstore.sql;

此时数据库就恢复到备份之前的状态。

如果想自动备份,可以写一个脚本,每隔一定时间就备份一次,window下可以写个批处理,linux下可以写个bash 脚本。

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134323.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java Random.nextInt()方法原理解析[通俗易懂]

    Java Random.nextInt()方法原理解析[通俗易懂]JavaRandom.nextInt()方法原理解析主要介绍了JavaRandom.nextInt()方法原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下licintnextInt(intn)该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。关于Randomr=newRandom(47)中47的意思今天看Java编程思想的时候看到了一段这样的代码:Rand

  • 【python】hasattr( )的用法

    【python】hasattr( )的用法hasattr()函数用于判断对象是否包含对应的属性。hasattr(object,name)object–对象。name–字符串,属性名。return如果对象有该属性返回True,否则返回False。实例classvariable:x=1y=’a’z=Truedd=variable()print(hasa…

    2022年10月22日
  • 演练 制作百度音乐标签页面 0929

    演练 制作百度音乐标签页面 0929演练制作百度音乐标签页面0929期望效果文字素材全部歌手AAFineFrenzyAirSupplyAkonAlanSilvestriApink安又琪安在旭安室奈美惠BBabyfaceBackstreet..BandariBarbraStreisandBasshunterBeeGees北京天使合唱团宝儿宝宝的音乐花园巴哈尔古丽巴桑布仁巴雅尔CChrisGarneau

  • [Elasticsearch] 邻近匹配 (三) – 性能,关联单词查询以及Shingles

    [Elasticsearch] 邻近匹配 (三) – 性能,关联单词查询以及Shingles提高性能短语和邻近度查询比简单的match查询在性能上更昂贵。match查询只是查看词条是否存在于倒排索引(InvertedIndex)中,而match_phrase查询则需要计算和比较多个可能重复词条(Multiplepossiblyrepeated)的位置。在LuceneNightlyBenchmarks中,显示了一个简单的term查询比一个短语查询快大概10倍,比一

    2022年10月31日
  • 如何卸载已安装的jdk_linux卸载tomcat

    如何卸载已安装的jdk_linux卸载tomcat一、查看Jdk的安装路径:whereisjavawhichjava(java执行路径)echo$JAVA_HOMEecho$PATH备注:如果是windows中,可以使用:setjava_home:查看JDK安装路径java-version:查看JDK版本二、卸载旧版本的JDK:1.确定JDK的版本:rpm-qa|grepjdkrpm-qa|grepgcj可能的结果…

  • qcustomplot添加图例_qchart显示点数据

    qcustomplot添加图例_qchart显示点数据【实例简介】QCustomPlot动态绘图,解决CPU占用内存高问题【实例截图】Qt动态实时绘图【核心代码】LXTracer::LXTracer(QCustomPlot*_plot,TracerType_type,QObject*parent):QObject(parent),m_plot(_plot),m_type(_type){m_visible=true;m_tracer=…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号