2016-09-18 ruki
tbox supports sqlite3 and mysql databases now(depends on libsqlite3.a and libmysql.a) and provides the unified api to access database. We only need pass a given url for connecting and accessing it. A simple example: ```c /* init a mysql database * * mysql database url: * * - "sql://localhost: 继续阅读 »
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 ] 继续阅读 »
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 继续阅读 »
2015-07-25 AnnatarHe
Install Ubuntu Ubuntu安装是最简单的。 $ sudo apt-get install redis-serve Ubuntu安装之后最好进行一步操作:干掉自启动 继续阅读 »
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') 继续阅读 »
2013-11-09 Robin Wen
目录 Table of Contents {:toc} 文/温国兵 一 热备 在上两篇文章(MySQL备份与恢复之冷备,MySQL备份与恢复之真实环境使用冷备)中,我们提到了冷备和真实环境中使用冷备。那从这篇文章开始我们看下热备。显然热备和冷备是两个相对的概念,冷备是把数据库服务,比如MySQL,Oracle停下来,然后使用拷贝、打包或者压缩命令对数据目录进行备份;那么我们很容易想到热备就是在MySQL或者其他数据库服务在运行的情况下进行备份。但是,这里存在一个问题,因为生产库在运行的情况下,有对该库的读写,读写频率有可能高,也可能低,不管频率高低,总会就会造成备份出来的数据和生产库中的数据不一致的情况。热备这段时间,其他人不 继续阅读 »
2016-05-22 MoreFreeze
学习了下LevelDB的实现原理,发现G厂大神Jeff Dean果然牛B,实现也很巧妙。 参考链接是这里 继续阅读 »
2013-11-03 Robin Wen
目录 Table of Contents {:toc} 文/温国兵 一 真实环境使用冷备 在上一篇文章(MySQL备份与恢复之冷备)中,我们提到了冷备。但是有个问题,我们存储的数据文件是保存在当前本地磁盘的,如果这个磁盘挂掉,那我们存储的数据不就丢失了,这样备份数据不就功亏一篑,劳而无功。所以真实环境中我们多准备几块磁盘,然后再在这些磁盘上搭建LVM,把MySQL的数据目录挂载到LVM上,这样数据就不是存储在当前磁盘上,就可以保证数据的安全性。 二 示意图 三 真实环境使用冷备模拟 第一步,需要提前规划好磁盘,这里做模拟,添加两磁盘。 第二步,对磁盘进行分区。 bash fdisk /dev/sdb fdisk 继续阅读 »
2013-12-22 Robin Wen
目录 Table of Contents {:toc} 文/温国兵 一 MySQL集群简介 上一篇文章我们提到MySQL 读写分离,这篇文章我们讲解MySQL集群。我们提到的集群,是指多台机器完成一个工作,最主要的场景是数据库服务器和Web服务器,但是集群环境不适合大规模计算。前面我们有提到MySQL AB复制,因为MySQL AB复制不适合大规模运用,要解决这个问题,我们可以使用MySQL集群。 MySQL集群分为三类节点:管理节点、SQL节点、存储节点。管理节点的功能是管理其他节点,负责调度不同的SQL节点和存储节点。SQL节点作用是用户和该节点进行交互,用户发送SQL语句到该节点,进行读写请求。存储节点负责到磁盘中读数 继续阅读 »