代码改变世界

Ubuntu10下MySQL搭建Master Slave

2012-10-23 15:15 by 听风吹雨, 3743 阅读, 3 推荐, 收藏, 编辑
摘要: 一、背景知识(一)ReplicationMySQL的replication是异步的,适用于对数据实时性要求不是特别关键的场景。slave端的IO线程负责从master读取日志,SQL线程专门负责在slave端应用从master读过来的日志。 使用replication必须启用binary log,MySQL用binary log向slave分发更新。(二)复制级别1. Row Level:5.1.5开始支持。mater记录每行数据的更改日志,slave根据日志逐行应用。优点:数据一致性更有保障。缺点:可能造成日志文件比较大;2. Statement Level:maste 阅读全文

MySQL多Text字段报8126错误(解决过程)

2012-09-20 18:11 by 听风吹雨, 26189 阅读, 2 推荐, 收藏, 编辑
摘要: 一、背景我们的MySQL数据库有一张10个Text的字段的表,还包括几个char和varchar字段,由于业务需求,我在表中加多一个Text字段的时候,插入记录的出现了下面的错误:Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs (图1:错误信息)二、过程首先我们执行下面的SQL,查看这个表的相关信息:SHOW TABLE STATUS LIKE 'e 阅读全文

Ubuntu12下重新挂载硬盘

2012-08-22 14:46 by 听风吹雨, 2555 阅读, 1 推荐, 收藏, 编辑
摘要:一、背景我们的服务器上安装了Ubuntu Server 12.04版本,由于开发环境的问题,所以没有上CenteOS或者Red Hat,我们有几块大的硬盘,需要通通挂载到root目录下,这个挂载的方式跟Windows是不太一样的。在挂载的过程中,错误的把硬盘挂载到了Swap下,我想卸载硬盘后再进行挂载到root,上网找了老半天,无果。挂载和卸载硬盘这种说法可能不太专业,或者你可以称为:扩展逻辑卷空间和收缩逻辑卷空间。二、重新挂载过程 我本来是想挂载到/dev/barfoo24/root,但却阴差阳错挂到了/dev/barfoo24/swap_1,我希望能重新把硬盘挂载到root下,我应该如何. 阅读全文

Ubuntu12下挂载硬盘(9TB)

2012-07-05 14:36 by 听风吹雨, 3736 阅读, 2 推荐, 收藏, 编辑
摘要:一、背景我们的服务器上安装了Ubuntu Server 12.04版本,由于开发环境的问题,所以没有上CenteOS或者Red Hat,我们有几块大的硬盘,需要通通挂载到root目录下,这个挂载的方式跟Windows是不太一样的。二、挂载过程Filesystem Size Used Avail Use% Mounted on字段说明:Filesystem 容量 已用 可用 已用% 挂载点(图1:查看磁盘文件系统)(图2:查询卷的情况)(图3:磁盘信息)(图4:格式化sdb1/sdc1/sdd1/sde1/sdf1)(图5:创建PV)(图7:把磁盘加入到名为barfoo02的VG里面)(图8:获 阅读全文

Windows下安装MySQL最佳实践

2012-06-19 09:15 by 听风吹雨, 10872 阅读, 2 推荐, 收藏, 编辑
摘要: 一、背景其实在Windows下安装MySQL可谓是一件很简单的事情,只要对着安装界面点击下一步就行了!真的是这样嘛?也许在个人电脑可以这样安装,但是在服务器也是这么随便的?答案是否定的。今天就针对Microsoft Windows Server 2003 R2 Enterprise x64 Edition Service Pack 2操作系统进行安装MySQL,为了配合64位的操作系统,我选用了64位的MySQL:mysql-5.5.22-winx64.msi这个MySQL版本。这种通过操作界面来安装MySQL也是需要注意参数的设置的,所以这里给出一个范例 阅读全文

Windows与Linux拷贝数据

2012-06-18 10:17 by 听风吹雨, 30089 阅读, 2 推荐, 收藏, 编辑
摘要:一、背景在维护Linux服务器的时候,我们有时需要拷贝Windows下的文件到服务器,这个时候我们需要如何通讯呢?在虚拟机中,我们有时候需要和本机进行数据的交互,可能会繁琐通过网络传送数据,或者直接通过U盘这样的方式在本机和虚拟机之间进行数据的交互。二、过程Windows下拷贝文件(tuning-primer.sh)到Ubuntu服务器上:方式一:使用Putty里面的PSCP.EXE进行拷贝1. 下载PSCP.EXE:putty.zip,拷贝PSCP.EXE到E盘目录下;2. 在运行里输入cmd,进入E盘,输入下面的命令:E:\>pscp.exe tuning-primer.sh bfa 阅读全文

Ubuntu10下MySQL搭建Amoeba系列(文章索引)

2012-06-12 18:57 by 听风吹雨, 7218 阅读, 2 推荐, 收藏, 编辑
摘要: 前言 使用了Amoeba有一段时间了,发现官方博客:Amoeba使用指南有很多地方都是错误的,在我实战中给到一些错误的指示,所以我想写些在搭建的实战中给大家一点指引。欢迎对我这个系列的文章提出批评和建议,特别是技术上的建议。 Amoeba读写分离+分片逻辑图 下面是我画得关于Amoeba读写分离和分片的逻辑图: 系列文章索引 Ubuntu10下安装JAVA JDK Ubuntu10下MySQL搭建Amoeba_基础 Ubuntu10下MySQL搭建Amoeba_分片 阅读全文

Ubuntu10下安装JAVA JDK

2012-06-12 10:10 by 听风吹雨, 3867 阅读, 1 推荐, 收藏, 编辑
摘要: 一、背景Amoeba for MySQL需要在Java SE 1.5和Java SE 1.6上运行,一开始我按照Amoeba for MySQL学习研究之安装的方法在Java SE Development Kit 6 Update 31下载了jdk-6u31-linux-i586-rpm.bin,安装到Ubuntu的时候出错了,后来才发现是我下载的软件包不符合系统:bin是二进制包,而rpm是redhat package 就是红帽的标准安装包,还有deb包,是debain的标准,区别就是rpm、deb安装的时候给你自动配置,一般都是lib安装到/usr/lib, bin安装到/usr/bin下 阅读全文

Ubuntu10下MySQL搭建Amoeba_分片升级版

2012-05-21 16:39 by 听风吹雨, 1793 阅读, 2 推荐, 收藏, 编辑
摘要:一、背景知识Amoeba的简单进行分片,比如对int类型的ID字段进行取模分片,实例可以参考:Ubuntu10下MySQL搭建Amoeba_分片,但是如果ID字段是UUID类型的呢?这个时候我们应该如何分片呢?这篇文章将会为你解决这个问题。二、搭建过程(一)测试环境Amoeba for MySQL:192.168.1.147server1:192.168.1.25server2:192.168.1.30server3:192.168.1.35数据库为:DBA_DB,帐号密码统一为:test/123456(二)前期准备1. 验证Amoeba是否安装成功的命令(如下图):/usr/local/am 阅读全文

Ubuntu10下MySQL搭建Amoeba_分片

2012-04-12 18:49 by 听风吹雨, 2590 阅读, 3 推荐, 收藏, 编辑
摘要:一、背景知识"Shard" 这个词英文的意思是"碎片",而作为数据库相关的技术用语,"Sharding" 姑且称之为"分片"。Sharding 不是一个某个特定数据库软件附属的功能,而是在具体技术细节之上的抽象处理,是水平扩展(Scale Out,亦或横向扩展、向外扩展)的解决方案,其主要目的是为突破单节点数据库服务器的 I/O 能力限制,解决数据库扩展性问题。Sharding 基本上是针对开源数据库的扩展性解决方案,很少有听说商业数据库进行 Sharding 的。目前业界的趋势基本上是拥抱 Scale Out,逐 阅读全文

Ubuntu10下MySQL搭建Amoeba_基础

2012-04-09 20:00 by 听风吹雨, 5344 阅读, 3 推荐, 收藏, 编辑
摘要:一、背景知识Amoeba 是阿里巴巴的技术陈思儒开始的一个开源项目,它是分布式数据库Proxy解决方案。Amoeba框架是基于Java SE 1.5开发的,在安装Amoeba之前需要先安装Java环境。经验证,Amoeba在Java SE 1.5和Java SE 1.6上能正常运行。(一)Amoeba包括3个产品:Amoeba From Sourceforge1. Amoeba for MySQL是Amoeba开源社区发布的一款MySQL数据库中间层代理软件,致力于数据库的切分整合、负载均衡、高可用性等;2. Amoeba for Aladdin支持所有提供jdbc驱动的数据库(Oracle、 阅读全文

SQL Server 数据库帐号密码生成

2012-03-23 16:35 by 听风吹雨, 6023 阅读, 7 推荐, 收藏, 编辑
摘要: 一、背景作为一个DBA,或许你有很多的系统需要管理,而且不同的系统使用了不同的数据库,通常的情况下,我们都是通过sa进行设置密码的,而且在config文件里面明文的写上我们的帐号和密码,这样的设计我们是否太大方了呢?或许你会说,我们的数据库是安全的,因为我们的数据库是只有内网可以访问的,但是那台机器的安全性呢?因为能进入操作系统就能看到我们的帐号密码了。再加上有些时候我们不希望客户能看到数据库密码的。那么应该如何保证我们的数据库账号密码的安全性呢? 二、架构设计针对上面的安全性问题,我设计了下面的方案,主要是运用加密算法进行加密,再通过分离一些职 阅读全文

SQL Server 当表分区遇上唯一约束

2012-02-23 18:58 by 听风吹雨, 6084 阅读, 9 推荐, 收藏, 编辑
摘要:一、前言我已经在高兴对服务器创建了表分区并且获得良好性能和自动化管理分区切换的时候,某一天,开发人员告诉我,某表的两个字段的数据不唯一,需要为这两个字段创建唯一索引的时候,这一切就变得不完美了。列的唯一,这个实际上是一个唯一索引。使用关键字unique建立。二、背景我有一个表TestUnique,这个表使用分区方案[Sch_TestUnique_Id],它是以Id做为分区依据列的,这个Id也是一个聚集索引,表中其它索引是跟分区对齐的(创建其它非聚集索引的时候使用了分区方案或者不指定-默认就是分区方案),而且我我这个表很大,我需要定时的进行交换分区(SWITCH PARTITION、滑动窗口、切 阅读全文

SQL Server 性能优化实战系列(文章索引)

2012-01-20 14:54 by 听风吹雨, 9879 阅读, 12 推荐, 收藏, 编辑
摘要: 二.前言(Introduction) 性能优化是数据库方向一个很重要的技能,这也是快速提供企业级应用性能最快捷的方式,所以性能优化的高低很大程度上表现了个人技能的高低。 下面的文章是我在实际项目中性能优化的一些经验,希望对那些需要实战帮助的童鞋有一点提示和帮助。希望大家拍砖。 三.调优流程图(Process) 下图是一个关于SQL Server性能调优步骤的流程图:(Figure1:调优基本流程图) 四.系列文章索引(Catalog) 阅读全文

SQL Server 游标运用:批量创建、删除链接服务器

2012-01-20 10:47 by 听风吹雨, 3464 阅读, 2 推荐, 收藏, 编辑
摘要: 一、背景我们的数据库比较多,它们提供了外网的访问,我现在想对这些数据库进行一些管理,获取这些数据库的一些信息,我们可以通过什么方式实现呢?在SQL Server2005版本之后有一个叫做链接服务器的新功能,基本的操作可以参考:SQL Server 2005链接服务器,我们就通过这个链接服务器来获取我们需要的数据,但是我们的服务器比较多,这个批量创建链接服务器和批量删除链接服务器就呼之欲出了。二、设计过程设计简述:创建如下图的表结构,LinkName保存远程链接的别名,LinkName2是创建链接方式2的一个补充字段,LinkIP代表远程服务器的地址,如果有端口的还需要加上端口 阅读全文

SQL Server 置疑、可疑、正在恢复

2011-12-19 20:59 by 听风吹雨, 9349 阅读, 6 推荐, 收藏, 编辑
摘要:一、出错情况有些时候当你重启了数据库服务,会发现有些数据库变成了正在恢复、置疑、可疑等情况,这个时候DBA就会很紧张了,下面是一些在实践中得到证明的方法。在一次重启数据库服务后,数据库显示正在恢复,过了很久还是这个状态,离线时间不能太长,所以就想起了一个方法,就是把数据库服务停止了,把数据文件mdf和ldf拷贝出来,删除了ldf文件,按照之前的经验,好像是在没有ldf的情况下可以使用mdf来恢复数据库。创建了一个同名的数据库,停止数据库服务,覆盖mdf文件,再启动数据库服务,这个时候还是处于可疑的状态。其中使用mdf来附加数据库是附加不了的,一直报错。二、解决步骤方法一:使用脚本进行数据库恢复 阅读全文

SQL Server 维护计划实现数据库备份(Step by Step)

2011-11-18 17:51 by 听风吹雨, 11916 阅读, 13 推荐, 收藏, 编辑
摘要: 一、前言SQL Server 备份和还原全攻略,里面包括了通过SSMS操作还原各种备份文件的图形指导,SQL Server 数据库最小宕机迁移方案,里面使用SQL脚本(T-SQL)完成完全备份、差异备份、完全还原、差异还原等; 有了上面的基础,我们加入了数据库的备份元素,通过维护计划来生成数据库的备份文件,这包括两种文件,数据库的完全备份与差异备份,有了这两个文件,我们可以通过SQL Server 备份和还原全攻略(图形操作)或者SQL Server 数据库最小宕机迁移方案(代码操作)的方法来还原我们的数据; 阅读全文

SQL Server 维护计划备份主分区

2011-10-09 11:52 by 听风吹雨, 13089 阅读, 6 推荐, 收藏, 编辑
摘要: 经过一段时间表分区的实践,我们先对表进行分区(形成表分区模板);表数据搬迁模板(迁移数据到新的分区表);分区管理自动化(自动化进行交换分区);详情请见:SQL Server 表分区实战系列(文章索引) 再进一步延伸,我们就需要对这些做了表分区的库进行备份了,之前写过一篇博文:SQL Server 备份和还原全攻略,这里描述了MSSQL的一些备份概念,今天这里虽然没有用到,但是像差异备份在备份比较大的情况下使用就会有很好的效果。 阅读全文

SQL Server 重复执行作业中某个步骤

2011-09-14 14:58 by 听风吹雨, 5318 阅读, 1 推荐, 收藏, 编辑
摘要: 一、说明在SQL Server 的作业中,有些时候我们希望步骤在执行失败后可以重复执行多几次,而我产生这个念头的是因为我在执行某个步骤(这个步骤对分区表进行修改分区方案、分区函数)的时候出现死锁了,如下面描述:消息1205,级别13,状态55,第1 行事务(进程ID 115)与另一个进程被死锁在锁资源上,并且已被选作死锁牺牲品。请重新运行该事务。我想到解决这个问题的方法是重复执行多几次这个步骤(经测试执行几次可行),所以这里就讲讲如果让数据库作业完成这一动作。二、测试实验(一)测试方案:我们在作业中设置了简单的两个步骤,步骤1往表中插入一条数据 阅读全文

SQL Server 设计开发系列(文章索引)

2011-08-29 15:47 by 听风吹雨, 3768 阅读, 8 推荐, 收藏, 编辑
摘要:一.前言(Introduction)数据库的设计与开发包括了很多东西,也许就是一个设计思想:比如空间换时间方案,读写分离,水平切分表,HA群集等;开发方面就包括脚本的开发、扩展函数,涉及到一些SQL的使用。 该系列还在完善中,欢迎大家指出还缺少些什么内容的维护,我会在后面的文章中陆续补充的。二.系列文章索引(Catalog)SQL Server数据库帐号密码安全设计简单实用SQL脚本简单实用SQL脚本Part2:日期和时间函数简单实用SQL脚本Part:游标模板简单实用SQL脚本Part:查找SQL Server 自增ID值不连续记录简单实用SQL脚本Part:生成站点导航树形结构简单实用SQ 阅读全文