2013-11-02 Robin Wen
目录 Table of Contents {:toc} 文/温国兵 一 什么是冷备 用一句话概括冷备,就是把数据库服务,比如MySQL,Oracle停下来,然后使用拷贝、打包或者压缩命令对数据目录进行备份。如果数据出现异常,则可以通过备份数据恢复。冷备一般需要定制计划,比如什么时候做备份,每次对哪些数据进行备份等等。但是由于这样的备份占用过多的空间,对大数据量的环境下不一定适合,故生产环境很少使用。 二 冷备示意图 三 冷备实验 第一步,创建测试数据库,插入测试数据。 ``` bash mysql> use larrydb; Database changed mysql> show tables; +------- 继续阅读 »
2013-11-10 Robin Wen
目录 Table of Contents {:toc} 文/温国兵 一 热拷贝 在上一篇文章中我们提到热备,热备也就是在MySQL或者其他数据库服务在运行的情况下进行备份。本文分享另外一种备份的方法,也就是热拷贝。热拷贝跟热备很类似,只不过热备使用mysqldump命令,热拷贝使用mysqlhotcopy命令。热拷贝的优势在于支持服务运行中进行备份,速度快,性能好;劣势在于只能备份MyIsam的表,无法备份InnoDB的表。所以在生产环境中应该酌情使用。 二 示意图 三 热拷贝模拟 第一步,热拷贝。 bash mysqlhotcopy -uroot -p123456 --database larrydb > lar 继续阅读 »
2016-09-29 Borg
数据库 sql create database [IF NOT EXISTS] USE ALTER DATABASE [数据库名] {[DEFAULT] CHARACTER SET | [DEFAULT] COLLATE } DROP DATABASE [IF EXISTS] SHOW DATABASES [LIKE ] 继续阅读 »
2014-03-15 Robin Wen
文/温国兵 环境 SQL Server 2012 + CentOS 6.3 问题描述 只具有生产库的登录、查询、创建临时表权限,缺失导入数据(比如Excel文件、txt文档、sql脚本等等)权限,需要创建临时表,插入测试数据。 问题模拟 由于生产库的数据是敏感数据,并且数据量非常大,当然不能提供出来。这里只是对这个问题进行一个模拟。数据量少和数据量大操作方法是一样的。 问题解决 我们可以这样: 这是Excel中的源数据,如图1: 图1 Excel 源数据 Step 1,首先把源数据(Excel中的数据)拷贝出来,或者另存为csv文件(以逗号作为分隔),然后重命名后缀为txt。这里的文件名假设为source.tx 继续阅读 »
2016-05-22 MoreFreeze
学习了下LevelDB的实现原理,发现G厂大神Jeff Dean果然牛B,实现也很巧妙。 参考链接是这里 继续阅读 »
2018-01-04 Robin Wen
文/温国兵 本文由币乎社区(bihu.com)内容支持计划奖励。 这是「区块链技术指北」的第 15 篇文章。 如果对我感兴趣,想和我交流,我的微信号:Wentasy,加我时简单介绍下自己,并注明来自「区块链技术指北」。同时我会把你拉入微信群「区块链技术指北」。BTW,李笑来老师也加入了我的知识星球,文末有加入方式。 个人认为区块链只能借鉴传统的数据库技术,而无法将数据库改造成区块链。 题图来自: © Fares Ghandour / Genesis of a cryptoeconomy / wamda.com 首先我们简单理解下区块链和传统数据库。 区块链技术是一种不依赖第三方、通过自身分散式节点进行网路数据的存储 继续阅读 »
2013-12-22 Robin Wen
目录 Table of Contents {:toc} 文/温国兵 一 MySQL集群简介 上一篇文章我们提到MySQL 读写分离,这篇文章我们讲解MySQL集群。我们提到的集群,是指多台机器完成一个工作,最主要的场景是数据库服务器和Web服务器,但是集群环境不适合大规模计算。前面我们有提到MySQL AB复制,因为MySQL AB复制不适合大规模运用,要解决这个问题,我们可以使用MySQL集群。 MySQL集群分为三类节点:管理节点、SQL节点、存储节点。管理节点的功能是管理其他节点,负责调度不同的SQL节点和存储节点。SQL节点作用是用户和该节点进行交互,用户发送SQL语句到该节点,进行读写请求。存储节点负责到磁盘中读数 继续阅读 »
2014-09-01 Robin Wen
目录 Table of Contents {:toc} 文/温国兵 问题重现 在写这篇文章之前,明确我的MySQL版本。 bash mysql> SELECT VERSION(); +------------+ | VERSION() | +------------+ | 5.5.29-log | +------------+ 1 row in set (0.00 sec) 现在有这样的需求,一张表中有一个字段created_at记录创建该条记录的时间戳,另一个字段updated_at记录更新该条记录的时间戳。 我们尝试以下几个语句。 第一个,测试通过。 bash CREATE TABLE temp ( i 继续阅读 »
2014-04-19 Robin Wen
目录 Table of Contents {:toc} 文/温国兵 场景现象 中午查询了流水,因未与业务人员沟通好,忘了删选条件,导致TempDB不能分配空间,SQL Server高负载运行。 错误分析 我们来看看错误日志: 再来看看TempDB自增长记录: 导致原因 查询语句未指定删选条件,语句如下: ``` bash --得到流水,因数据敏感问题,已将字段使用’xx’代替。 IF EXISTS (SELECT * FROM tempdb..sysobjects WHERE id = Object_id(N'tempdb..#t_scfw') 继续阅读 »
2015-08-15 AnnatarHe
The Hard Way 做个全栈真是不容易啊,前后端都要懂,还得能写数据库的东西,连运维也给一起兼了。 JavaScript 现在JavaScript真是完成了屌丝逆袭的全过程。 原来这货长这样: foo 继续阅读 »