数据库

redis主从复制-切换配置

Roy

首先从官网下载源码进行安装:

wget http://download.redis.io/releases/redis-3.2.1.tar.gz
tar -zxvf redis-3.2.1.tar.gz
make && make test
sudo make install

默认安装到/usr/local/bin目录。

MySQL索引优化小记

Roy

有2种数据类型,一种重复率高、一种重复率低,选择这2种类型哪个建立索引好?为什么?

之前确实没考虑过这个问题,但觉得既然是使用空间换时间,数据结构本身重复率那么高索引的作用应该就不大了吧。

后来结束到家查看资料后,发现这个名词叫做"离散率"。对于DBA这个问题应该是最最基础的了。

在MySQL中存储树状结构

Roy

原文地址,原文中Hierarchical Data直译为 分层结构,这里我翻译成 树状结构

补充资源:

  1. https://django-mptt.github.io/django-mptt/ ,如果你也使用python和django,这个是现成的APP。

另外,个人觉得这种方法对于搜索的效率提升最大,而相应的新增、删除等操作则会变慢,个人猜测未经测试。

个人总结的核心:如果一个节点A是节点B的子节点,那么A的左值一定大于B的左值,A的右值一定小于B的右值。或者说,A的左值一定在B的左值和右值之间。

MySQL数据库修复

Roy

把博客服务器搬到香港之后,发现这个供应商的服务器经常自动重启,不过mysql、nginx都设定了开机自启动,所以也就没当事。结果今天出了大问题:服务器ip可以ping的通,但博客就是无法访问,登录到服务器一看,我擦——整个数据盘不见了!由于把网站放在了/home目录下,而现在home目录空荡荡的啥也没有。

postgresql无法启动问题

Roy
今天升级系统后,发现postgresql无法启动了,报错/etc/ssl/private/ssl-cert-snakeoil.key: Permission denied。 一看就是权限问题,首先看这个文件是什么权限: # ls -al /etc/ssl/private/ssl-cert-snakeoil.key -rw-r----- 1 root ssl-cert 1704 Jul 22 2014 /etc/ssl/private/ssl-cert-snakeoil.

MongoDB集群部署——Replica Set

Roy
mongodb的集群部署有3种方式,这里记录我在使用Replica Set(副本集)部署时的步骤。 首先这种方式至少需要3个节点——主、备、仲裁节点。主备节点存储数据,仲裁节点不存储数据,负责决定主节点挂掉之后哪个备节点升级为主节点。客户端同时连接主节点与备节点,不连接仲裁节点。 安装mongodb,CentOS下安装rpmfusion源后使用yum安装即可:yum install mongodb mongodb-server 安装完成后,修改/etc/mongodb.conf 这个配置文件。 bind_ip = 192.