在我工作的地方,服务器由外部公司pipe理,所以当你想要一个新的服务器的时候,你得到root密码一段时间来设置它,然后他们改变它,你应该做一个非root用户。
所以前一阵子我设置了我的服务器,它运行红帽企业Linux服务器5.4,Apache 2.2.3,Apache Tomcat 5.5.23和PostgreSQL 8.1.22。 我创build了一个用户,一个数据库,用数据填充它,没问题。 他们改变了根密码,一切似乎工作正常。
几个月前,服务器已closures,用于build筑物的电气维护。 我不知道他们是否干净地closures它。
由于服务器使用不多,上周我才发现PostgreSQL服务器在重启时没有重启。 我不得不要求他们启动它,当他们做了,惊喜,一切都消失了:我创build的用户,数据库…. Tomcat应用程序本身仍然在那里工作,但没有数据库连接,它不做多。
我设法得到了一个root密码,所以我可以环顾四周。
有没有办法找出什么删除了一切? 我怎样才能防止它再次发生?
/ var / lib / pgsql /中的所有内容都是在重新启动服务器的那一天过期的,事实上,所有事情看起来都像是第一次启动。
是否有可能在机器上有多个PostgreSQL服务器或位置,旧的数据库还在那里? 还是做了一些消除PostgreSQL?
我有一个备份,所以数据本身不会丢失,但我非常想知道发生了什么。
这个服务器上的磁盘/ lvmconfiguration有什么特别之处?
/ var / lib / pgsql / data目录是单独的文件系统,可能位于SAN上,还是仅仅是一组独立的磁盘? 如果有人已经手动安装数据/而没有将其放入fstab中,则在第一次重新启动之后,您会有一个惊喜。
我认为在较旧版本的RH上,初始化脚本总是在/ var / lib / pgsql / data中查找,如果没有find一个新的集群,则会初始化一个新的集群,所以像@iPaulo提到的情况或者任何非默认的集群都可能结束像你所描述的那样。
我倾向于做一个服务器广泛searchpostgres特定的文件,如postgresql.conf或pg_hba.conf,看看我能否find数据库的另一个副本,也检查/ var / log或类似的地方的任何日志可能会显示旧集群的证据; 可能有一个PGDATA在某处附近。
注意,如果全部丢失,可以利用这个机会升级; 8.1是几年前的EOL。 取而代之的是:-)