<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>简单之美 &#187; Category &#187; 数据库</title>
	<atom:link href="http://shiyanjun.cn/archives/category/database/feed" rel="self" type="application/rss+xml" />
	<link>http://shiyanjun.cn</link>
	<description>简单之美，难得简单，享受简单的唯美。</description>
	<lastBuildDate>Wed, 04 Mar 2026 07:04:53 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.2</generator>
	<item>
		<title>CentOS 6.4系统MySQL主从复制基本配置实践</title>
		<link>http://shiyanjun.cn/archives/584.html</link>
		<comments>http://shiyanjun.cn/archives/584.html#comments</comments>
		<pubDate>Sat, 11 Jan 2014 02:35:46 +0000</pubDate>
		<dc:creator><![CDATA[Yanjun]]></dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://shiyanjun.cn/?p=584</guid>
		<description><![CDATA[<p>对于MySQL数据库一般用途的主从复制，可以实现数据的备份（如果希望在主节点失效后，能够使从节点自动接管，就需要更加复杂的配置，这里暂时先不考虑），如果主节点出现硬件故障，数据库服务器可以直接手动切换成备份节点（从节点），继续提供服务。基本的主从复制配置起来非常容易，这里我们做个简单的记录总结。
我们选择两台服务器来进行MySQL的主从复制实践，一台m1作为主节点，另一台nn作为从节点。
两台机器上都需要安装MySQL数据库，如果想要卸掉默认安装的，可以执行如下命令：
现在可以在CentOS 6.4上直接执行如下命令进行安装：
为root用户设置密码：
然后可以直接通过MySQL客户端登录：
主节点配置
首先，考虑到数据库的安全，以及便于管理，我们需要在主节点m1上增加一个专用的复制用户，使得任意想要从主节点进行复制从节点都必须使用这个账号：
这里还进行了操作授权，使用这个换用账号来执行集群复制。如果想要限制IP端段，也可以在这里进行配置授权。
然后，在主节点m1上，修改MySQL配置文件/etc/my.cnf，使其支持Master复制功能，修改后的内容如下</p>]]></description>
	<p>对于MySQL数据库一般用途的主从复制，可以实现数据的备份（如果希望在主节点失效后，能够使从节点自动接管，就需要更加复杂的配置，这里暂时先不考虑），如果主节点出现硬件故障，数据库服务器可以直接手动切换成备份节点（从节点），继续提供服务。基本的主从复制配置起来非常容易，这里我们做个简单的记录总结。
我们选择两台服务器来进行MySQL的主从复制实践，一台m1作为主节点，另一台nn作为从节点。
两台机器上都需要安装MySQL数据库，如果想要卸掉默认安装的，可以执行如下命令：

sudo rpm -e --nodeps mysql
yum list | grep mysql

现在可以在CentOS 6.4上直接执行如下命令进行安装：

sudo yum install -y mysql-server mysql mysql-deve

为root用户设置密码：

mysqladmin -u root password 'shiyanjun'

然后可以直接通过MySQL客户端登录：

mysql -u root -p

主节点配置
首先，考虑到数据库的安全，以及便于管理，我们需要在主节点m1上增加一个专用的复制用户，使得任意想要从主节点进行复制从节点都必须使用这个账号：

CREATE USER repl</p>			<content:encoded><![CDATA[<p>对于MySQL数据库一般用途的主从复制，可以实现数据的备份（如果希望在主节点失效后，能够使从节点自动接管，就需要更加复杂的配置，这里暂时先不考虑），如果主节点出现硬件故障，数据库服务器可以直接手动切换成备份节点（从节点），继续提供服务。基本的主从复制配置起来非常容易，这里我们做个简单的记录总结。
我们选择两台服务器来进行MySQL的主从复制实践，一台m1作为主节点，另一台nn作为从节点。
两台机器上都需要安装MySQL数据库，如果想要卸掉默认安装的，可以执行如下命令：
现在可以在CentOS 6.4上直接执行如下命令进行安装：
为root用户设置密码：
然后可以直接通过MySQL客户端登录：
主节点配置
首先，考虑到数据库的安全，以及便于管理，我们需要在主节点m1上增加一个专用的复制用户，使得任意想要从主节点进行复制从节点都必须使用这个账号：
这里还进行了操作授权，使用这个换用账号来执行集群复制。如果想要限制IP端段，也可以在这里进行配置授权。
然后，在主节点m1上，修改MySQL配置文件/etc/my.cnf，使其支持Master复制功能，修改后的内容如下</p>]]></content:encoded>
			<wfw:commentRss>http://shiyanjun.cn/archives/584.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>基于C#+Thrift操作HBase实践</title>
		<link>http://shiyanjun.cn/archives/499.html</link>
		<comments>http://shiyanjun.cn/archives/499.html#comments</comments>
		<pubDate>Thu, 07 Nov 2013 09:38:49 +0000</pubDate>
		<dc:creator><![CDATA[Yanjun]]></dc:creator>
				<category><![CDATA[HBase]]></category>
		<category><![CDATA[开源技术]]></category>
		<category><![CDATA[数据库]]></category>
		<category><![CDATA[Thrift]]></category>

		<guid isPermaLink="false">http://shiyanjun.cn/?p=499</guid>
		<description><![CDATA[<p>在基于HBase数据库的开发中，对应Java语言来说，可以直接使用HBase的原生API来操作HBase表数据，当然你要是不嫌麻烦可以使用Thrift客户端Java API，这里有我曾经使用过的 HBase Thrift客户端Java API实践，可以参考。对于具有其他编程语言背景的开发人员，为了获取HBase带来的好处，那么就可以选择使用HBase Thrift客户端对应编程语言的API，来实现与HBase的交互。
这里，我们使用C#客户端来操作HBase。HBase的Thrift接口的定义，可以通过链接http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift?view=markup看到，我们需要安装Thrift编译器，才能生成HBase跨语言的API，这里，我使用的版本是0.9.0。需要注意的是，一定要保证，安装了某个版本Thrift的Thrift编译器，在导入对应语言库的时候，版本一定要统一，否则就会出现各种各样的问题，因为不同Thrift版本，对应编程语言的库API可能有变化。
首先，下载上面链接的内容，保存为Hbase.thrift。
然后，执行如下命令，生成C#编程语言的HBase Th</p>]]></description>
	<p>在基于HBase数据库的开发中，对应Java语言来说，可以直接使用HBase的原生API来操作HBase表数据，当然你要是不嫌麻烦可以使用Thrift客户端Java API，这里有我曾经使用过的 HBase Thrift客户端Java API实践，可以参考。对于具有其他编程语言背景的开发人员，为了获取HBase带来的好处，那么就可以选择使用HBase Thrift客户端对应编程语言的API，来实现与HBase的交互。
这里，我们使用C#客户端来操作HBase。HBase的Thrift接口的定义，可以通过链接http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift?view=markup看到，我们需要安装Thrift编译器，才能生成HBase跨语言的API，这里，我使用的版本是0.9.0。需要注意的是，一定要保证，安装了某个版本Thrift的Thrift编译器，在导入对应语言库的时候，版本一定要统一，否则就会出现各种各样的问题，因为不同Thrift版本，对应编程语言的库API可能有变化。
首先，下载上面链接的内容，保存为Hbase.thrift。
然后，执行如下命令，生成C#编程语言的HBase Th</p>			<content:encoded><![CDATA[<p>在基于HBase数据库的开发中，对应Java语言来说，可以直接使用HBase的原生API来操作HBase表数据，当然你要是不嫌麻烦可以使用Thrift客户端Java API，这里有我曾经使用过的 HBase Thrift客户端Java API实践，可以参考。对于具有其他编程语言背景的开发人员，为了获取HBase带来的好处，那么就可以选择使用HBase Thrift客户端对应编程语言的API，来实现与HBase的交互。
这里，我们使用C#客户端来操作HBase。HBase的Thrift接口的定义，可以通过链接http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift?view=markup看到，我们需要安装Thrift编译器，才能生成HBase跨语言的API，这里，我使用的版本是0.9.0。需要注意的是，一定要保证，安装了某个版本Thrift的Thrift编译器，在导入对应语言库的时候，版本一定要统一，否则就会出现各种各样的问题，因为不同Thrift版本，对应编程语言的库API可能有变化。
首先，下载上面链接的内容，保存为Hbase.thrift。
然后，执行如下命令，生成C#编程语言的HBase Th</p>]]></content:encoded>
			<wfw:commentRss>http://shiyanjun.cn/archives/499.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HBase-0.90.4集群安装配置</title>
		<link>http://shiyanjun.cn/archives/151.html</link>
		<comments>http://shiyanjun.cn/archives/151.html#comments</comments>
		<pubDate>Sat, 24 Aug 2013 02:13:54 +0000</pubDate>
		<dc:creator><![CDATA[Yanjun]]></dc:creator>
				<category><![CDATA[HBase]]></category>
		<category><![CDATA[开源技术]]></category>
		<category><![CDATA[Hadoop/Hive/ZooKeeper]]></category>
		<category><![CDATA[ZooKeeper]]></category>

		<guid isPermaLink="false">http://shiyanjun.cn/?p=151</guid>
		<description><![CDATA[<p>HBase是Hadoop数据库，能够实现随机、实时读写你的Big Data，它是Google的Bigtable的开源实现，可以参考Bigtable的论文Bigtable: A Distributed Storage System for Structured。HBase的存储模型可以如下三个词来概括：distributed, versioned, column-oriented。HBase并非只能在HDFS文件系统上使用， 你可以应用在你的本地文件系统上部署HBase实例来存储数据。
准备工作

hbase-0.90.4.tar.gz [http://labs.renren.com/apache-mirror//hbase/stable/hbase-0.90.4.tar.gz]
zookeeper-3.3.4.tar.gz

下面介绍Standalone和Distributed安装过程。
Standalone模式
这种安装模式，是在你的本地文件系统上安装配置一个HBase实例，安装配置比较简单。
首先，要保证你的本地系统能够通过ssh无密码访问，配置如下：
检查一下权限：你的~/.ssh目录的权限是否为755，~/.ssh/authorized_keys的权限是否为644，如果不是，执行下面的命令行：
然后，安装配置HBase，过程如下：
修改conf/hbase-env.sh中JAVA_HOME配置，指定为你的JAVA_HOME目录：
其他配置，如HBASE*指定配置项，如</p>]]></description>
	<p>HBase是Hadoop数据库，能够实现随机、实时读写你的Big Data，它是Google的Bigtable的开源实现，可以参考Bigtable的论文Bigtable: A Distributed Storage System for Structured。HBase的存储模型可以如下三个词来概括：distributed, versioned, column-oriented。HBase并非只能在HDFS文件系统上使用， 你可以应用在你的本地文件系统上部署HBase实例来存储数据。
准备工作

hbase-0.90.4.tar.gz [http://labs.renren.com/apache-mirror//hbase/stable/hbase-0.90.4.tar.gz]
zookeeper-3.3.4.tar.gz

下面介绍Standalone和Distributed安装过程。
Standalone模式
这种安装模式，是在你的本地文件系统上安装配置一个HBase实例，安装配置比较简单。
首先，要保证你的本地系统能够通过ssh无密码访问，配置如下：

ssh-keygen -t dsa
cat ~/.ssh/id_dsa.pub &gt;&gt; ~/.ssh/authorized_keys

检查一下权限：你的~/.ssh目录的权限是否为755，~/.ssh/authorized_keys的权限是否为644，如果不是，执行下面的命令行：

chmod 755 ~/.ssh
chmod 644 ~/.ssh/authorized_key</p>			<content:encoded><![CDATA[<p>HBase是Hadoop数据库，能够实现随机、实时读写你的Big Data，它是Google的Bigtable的开源实现，可以参考Bigtable的论文Bigtable: A Distributed Storage System for Structured。HBase的存储模型可以如下三个词来概括：distributed, versioned, column-oriented。HBase并非只能在HDFS文件系统上使用， 你可以应用在你的本地文件系统上部署HBase实例来存储数据。
准备工作

hbase-0.90.4.tar.gz [http://labs.renren.com/apache-mirror//hbase/stable/hbase-0.90.4.tar.gz]
zookeeper-3.3.4.tar.gz

下面介绍Standalone和Distributed安装过程。
Standalone模式
这种安装模式，是在你的本地文件系统上安装配置一个HBase实例，安装配置比较简单。
首先，要保证你的本地系统能够通过ssh无密码访问，配置如下：
检查一下权限：你的~/.ssh目录的权限是否为755，~/.ssh/authorized_keys的权限是否为644，如果不是，执行下面的命令行：
然后，安装配置HBase，过程如下：
修改conf/hbase-env.sh中JAVA_HOME配置，指定为你的JAVA_HOME目录：
其他配置，如HBASE*指定配置项，如</p>]]></content:encoded>
			<wfw:commentRss>http://shiyanjun.cn/archives/151.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HBase Thrift客户端Java API实践</title>
		<link>http://shiyanjun.cn/archives/111.html</link>
		<comments>http://shiyanjun.cn/archives/111.html#comments</comments>
		<pubDate>Thu, 22 Aug 2013 15:19:33 +0000</pubDate>
		<dc:creator><![CDATA[Yanjun]]></dc:creator>
				<category><![CDATA[HBase]]></category>
		<category><![CDATA[开源技术]]></category>
		<category><![CDATA[Thrift]]></category>

		<guid isPermaLink="false">http://shirdrn.org/?p=111</guid>
		<description><![CDATA[<p>HBase的Thrift API定义，可以通过链接 http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift?view=markup看到，我们需要安装Thrift编译器，才能生成HBase跨语言的API。
首先下载上面链接的内容，保存为Hbase.thrift。
然后，执行如下命令，生成不同编程语言的HBase API：
这里，我们基于Java语言，使用HBase 的Thrift 客户端API访问HBase表。事实上，如果使用Java来实现对HBase表的操作，最好是使用HBase的原生API，无论从性能还是便利性方面，都会提供更好的体验。使用Thrift API访问，实际也是在HBase API之上进行了一层封装，可能初次使用Thrift API感觉很别扭，有时候还要参考Thrift服务端的实现代码。
准备工作如下：


下载Thrift软件包，解压缩后，拷贝thrift-0.9.0/lib/java/src下面的代码到工作区（开发工具中）
将上面生成的gen-java目录中代码拷贝到工作区
保证HBase集群正常运行，接着启动HBase的Thrift服务，执行如下命令：


上面，HBase的Thrift服务端口为9090，下面通过Thrift </p>]]></description>
	<p>HBase的Thrift API定义，可以通过链接 http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift?view=markup看到，我们需要安装Thrift编译器，才能生成HBase跨语言的API。
首先下载上面链接的内容，保存为Hbase.thrift。
然后，执行如下命令，生成不同编程语言的HBase API：

[hadoop@master hbase]$ thrift --gen cpp Hbase.thrift
[hadoop@master hbase]$ thrift --gen java Hbase.thrift
[hadoop@master hbase]$ thrift --gen py Hbase.thrift
[hadoop@master hbase]$ thrift --gen perl Hbase.thrift
[hadoop@master hbase]$ thrift --gen csharp Hbase.thrift
[hadoop@master hbase]$ thrift --gen php Hbase.thrift
[hadoop@master hbase]$ thrift --gen js Hbase.thrift
[hadoop@master hbase]$ thrift --gen go Hbase.thrift
[hadoop@master hbase]$ thrift --gen erl Hbase.thrift
[hadoop@master hbase]$ thrift --gen delphi Hbase.thrift
[hadoop@master hbase]$ thrift --</p>			<content:encoded><![CDATA[<p>HBase的Thrift API定义，可以通过链接 http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift?view=markup看到，我们需要安装Thrift编译器，才能生成HBase跨语言的API。
首先下载上面链接的内容，保存为Hbase.thrift。
然后，执行如下命令，生成不同编程语言的HBase API：
这里，我们基于Java语言，使用HBase 的Thrift 客户端API访问HBase表。事实上，如果使用Java来实现对HBase表的操作，最好是使用HBase的原生API，无论从性能还是便利性方面，都会提供更好的体验。使用Thrift API访问，实际也是在HBase API之上进行了一层封装，可能初次使用Thrift API感觉很别扭，有时候还要参考Thrift服务端的实现代码。
准备工作如下：


下载Thrift软件包，解压缩后，拷贝thrift-0.9.0/lib/java/src下面的代码到工作区（开发工具中）
将上面生成的gen-java目录中代码拷贝到工作区
保证HBase集群正常运行，接着启动HBase的Thrift服务，执行如下命令：


上面，HBase的Thrift服务端口为9090，下面通过Thrift </p>]]></content:encoded>
			<wfw:commentRss>http://shiyanjun.cn/archives/111.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ubuntu系统安装配置Redis</title>
		<link>http://shiyanjun.cn/archives/94.html</link>
		<comments>http://shiyanjun.cn/archives/94.html#comments</comments>
		<pubDate>Wed, 21 Aug 2013 15:06:35 +0000</pubDate>
		<dc:creator><![CDATA[Yanjun]]></dc:creator>
				<category><![CDATA[Redis]]></category>
		<category><![CDATA[数据库]]></category>

		<guid isPermaLink="false">http://shirdrn.org/?p=94</guid>
		<description><![CDATA[<p>Redis是一个NoSQL数据库，在数据需要频繁更新，并且数据的访问热点范围比较广的应用场景下，Redis的效率很不错。
下面介绍Redis的安装过程，如下面的步骤所示。
1、下载安装
这时Redis 的可执行文件被放到了/usr/local/bin。
2、下载配置文件和init启动脚本
3、初始化用户和日志路径
第一次启动Redis前，建议为Redis单独建立一个用户，并新建data和日志文件夹。
4、设置开机自动启动，关机自动关闭
5、启动Redis
6、验证启动成功
7、启动client客户端
</p>]]></description>
	<p>Redis是一个NoSQL数据库，在数据需要频繁更新，并且数据的访问热点范围比较广的应用场景下，Redis的效率很不错。
下面介绍Redis的安装过程，如下面的步骤所示。
1、下载安装

wget http://redis.googlecode.com/files/redis-2.2.13.tar.gz
tar -zxf redis-2.2.13.tar.gz
cd redis-2.2.13
make
sudo make install

这时Redis 的可执行文件被放到了/usr/local/bin。
2、下载配置文件和init启动脚本

wget https://github.com/ijonas/dotfiles/raw/master/etc/init.d/redis-server
wget https://github.com/ijonas/dotfiles/raw/master/etc/redis.conf
sudo mv redis-server /etc/init.d/redis-server
sudo chmod +x /etc/init.d/redis-server
sudo mv redis.conf /etc/redis.conf

3、初始化用户和日志路径
第一次启动Redis前，建议为Redis单独建立一个用户，并新建data和日志文件夹。

sudo useradd redis
sudo mkdir -p /var/lib/redis
sudo mkdir -p /var/log/redis
sudo chown redis.redis /var/lib/redis
sudo chown redis.redis /var/log/redi</p>			<content:encoded><![CDATA[<p>Redis是一个NoSQL数据库，在数据需要频繁更新，并且数据的访问热点范围比较广的应用场景下，Redis的效率很不错。
下面介绍Redis的安装过程，如下面的步骤所示。
1、下载安装
这时Redis 的可执行文件被放到了/usr/local/bin。
2、下载配置文件和init启动脚本
3、初始化用户和日志路径
第一次启动Redis前，建议为Redis单独建立一个用户，并新建data和日志文件夹。
4、设置开机自动启动，关机自动关闭
5、启动Redis
6、验证启动成功
7、启动client客户端
</p>]]></content:encoded>
			<wfw:commentRss>http://shiyanjun.cn/archives/94.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
