使用共享内存的 数据库系统 .
比如 oracle , postgresql
在linux 上 默认使用的是 system V IPC .
但是 centos 7 做出了一个重要改变.
也就是os 用户在logout 的时候, 这个用户申请的所有资源 ,将会释放.
这个时候 ,问题来了. 如果 如果申请的共享内存 释放了. IPC 就挂了啊.
数据库自然也就挂掉了.
救援方法如下:
-
将数据库的启动用户 创建为 "系统用户"
也就是在创建用户的时候 增加选项 --system
useradd postgres --system -m
这样创建的os 用户就是系统用户了. 这样这个账号启动的系统服务, 在账号logout 之后,
所申请的资源 , 不会被回收释放.
2. os的配置参数.
/etc/systemd/logind.conf
#RemoveIPC=no
目前这个参数是 no 的 . 也就是目前, 旧方法还是可以继续使用. 还不至于造成伤害.
怎么用, 你自己选.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/133735/viewspace-2651653/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/133735/viewspace-2651653/