MongoDB

MacOS安装Mongo

  1. 官方网站下载对一个Mac安装包
  2. 解压到本地目录下
  3. 创建一个配置文件,例如 /etc/mongod.conf , set the dbpath to your preferred path.

    # This is an example config file for MongoDB.
    dbpath = /var/lib/mongodb
    bind_ip = 127.0.0.1
    noauth = true # use 'true' for options that don't take an argument
    verbose = true # to disable ...
more ...

Ubuntu 下安装 MongoDB

环境

  • Ubuntu: 12.04.1
  • MongoDB: 2.2.2

安装

修改/etc/apt/sources.list

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

运行一下命令:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
sudo apt-get update
sudo apt-get install mongodb-10gen

配置

MongoDB主要的文件位置

  • 配置文件: /etc/mongodb.conf
  • 启动脚本: /etc/init ...
more ...

Mac下编译安装EJDB

从http://ejdb.org/下载源代码,解压,Softmotions-ejdb

cd tcejdb
./configure --prefix=/opt/ejdb/env
make
make install

source /opt/ejdb/env/bin/activate
cd pyejdb

修改setup.py

class EJDBPythonExt(object): 去掉

kwargs["libraries"].append("rt")

ejdb_ext = EJDBPythonExt添加

library_dirs=['/opt/ejdb/env/lib'],

修改class build_ext(_build_ext): 去掉

if check_extension(ext)

class EJDBPythonExt ...
more ...

PostgreSQL

备份和恢复

Postgres 备份数据库会将数据库中所有数据导出形成一个 xxx.sql, 恢复时直接执行sql创建数据到数据库中。

备份:

pg_dump -U USER_NAME -p PORT -h SERVER_IP -W DB_NAME | gzip > backup.gz

恢复:

gunzip -c backup.gz | psql NEW_DB

安全策略

绝对不用在shell中对postgres用户进行passwd操作, 因为UNIX 用户 "postgres" 是被锁定的,这意味这不能使用password来登陆此用户, 一旦使用 passwd postgres命令设置了密码,postgres用户就会被解除锁定

postgresql有默认的db管理员用户,名字也叫postgres,我们应该修改的是这个密码

sudo -u postgres psql postgres
# \password postgres
Enter new ...
more ...

Redis删除过期的数据

使用以下就可以了

/usr/local/bin/redis-cli -p LISTENING_PORT -a PASSWORD -h 10.0.x.xx keys  "*" | while read LINE ; do TTL=`/usr/local/bin/redis-cli -a XXXX -p LISTENING_PORT -h 10.0.x.xx ttl $LINE`; if [$TTL  -eq -1 ]; then echo "Del $LINE"; RES=`/usr/local/bin/redis-cli -a PASSWORD ...
more ...

Redis 的安全设置

修改配置文件,默认在/etc/redis下面

bind 127.0.0.1                                                  
requirepass foobar

password最好足够长,因为redis的效能太高,穷举很方便

注意,为redis增加了密码之后,如果想用redis的init script去stop 的话,可能 一直会报一下错误

Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...

我们需要修改一下/etc/init.d/redis, 修改成以下内容,这样stop的时候要输入密码,就可以了

            echo "Stopping ..."
            read -s -p "Enter redis password:" token
            echo
            $CLIEXEC ...
more ...

Ubuntu 下安装 Redis

环境:

  • Ubuntu: 12.04.1
  • Redis: 2.6.9

默认是redis-server是2.2.2版本的,咱不要。

sudo apt-get install make gcc
wget http://redis.googlecode.com/files/redis-2.6.9.tar.gz
tar zxvf redis-2.6.9.tar.gz
cd redis-2.6.9
make MALLOC=libc
sudo make install

cd utils/
sudo ./install_server ...
more ...

SQLServer减少数据库文件大小

清理历史记录

BACKUP LOG DateBaseName WITH TRUNCATE_ONLY
DBCC ShrinkDatabase(DateBaseName)

设定数据库自动缩小, 默认值为OFF

ALTER DATABASE DateBaseName SET AUTO_SHRINK ON
more ...

SQLServer开启TCP监听

刚安装的SQL server是不会默认开启tcp监听的。

运行SQL Server Configuation Manager,打开SQL Server 20xx

Network Configuration -> Protocols for xxx

设置TCP/IP为enable, 右键选properties, IP Addresses,

将IP1和IP2都改enable, port改为1433,IP ALL的port也改为1433

SQL Native client configuation -> client protocols -> TCP/IP,

改为enable, 右键选properties, Default Port改为1433, Enabled改为yes.

重启SQL server服务就可以了。

telnet localhost 1433
more ...

Ubuntu 安装 PostgreSQL

环境 Ubuntu: 12.04.1 PostgreSQL: 9.1

安装命令

sudo apt-get install postgresql-9.1

默认安装后的路径 配置文件: /etc/postgresql/9.1/main 数据: /var/lib/postgresql/9.1/main

网络和安全设置

修改监听的网络和端口

sudo -u postgres vi /etc/postgresql/9.1/main/postgresql.conf

修改以下内容,如果是production就只监听局域网的网络ip

listen_addresses = '*'
port = Your_port

password_encryption = on

修改 /etc ...

more ...