telnet客户端
1.2.0已安装
memcahcedb从2009年起就没有作版本更新了,所以不用担心本文的操作不适用于自己的版本; 假设服务端已经安装完成,用whereis memcachedb命令来查找安装执行的目录
memcachedb由于设计成轻型系统,所以启动很灵活,最简单的启动就是memcachedb -u username -d,其中-u表示以后面跟的user权限执行,-d表示后台执行。
当然在绝大多数生产环境这样的启动太简单,比如数据文件往往是和程序安装文件分离的,那么启动时用-H <目录名>来指定数据文件目录,另外为提高安全,往往会将程序启动在非缺省端口,以 -p <端口名>表示。
最重要的一点,缺省启动并不输出日志,需要手动增加启动参数-v输出日志,这时的日志是输出到终端屏,在系统调试时特别重要,用-vv可显示更详细的日志,调试结束后,正常启动可使用重定向符>> <文件名>来输出日志到文件。
memcachedb和关系型数据库一样,也是目录下也是分为数据文件和日志文件,一般情况下的异常,正常启动数据库后,系统可以通过数据文件和日志的对比,自动恢复数据库。
由上可知memcachedb也有一致性的持性,只要保存有建库以来的所有日志文件,即便数据文件不存在,也是可以进行恢复,命令为db_recover -cf -h /data/memcachedb。
db_recover是安装memcachedb时安装的工具,也可以通过whereis来查找命令,-h后面直接跟日志所在的目标,-c代表的是灾难型恢复,命令的最后也可以增加 -v输出日志。
上面的方法虽然简单,但如果数据量比较大,保存自建库以来的日志实际也是不可能的,所以还是定期的备份,使用db_hotbackup -h
用文件拷贝而不用上述那些工具也是可以作库的备份的,但小编发现,在恢复方面要比关系型数据库要弱,所以在编写角本时一定要打包备份数据文件,再备份日志。
所以注意无论用哪种办法,必须拥有备份以后的所有日志,或者日志文件中的SCN要比数据文件新,这样才是可恢复的,不然一定会因为SCN不一致而地恢复成功。
因此定期日志文件是件需要慎重的工作,缺省系统提供了db_archive -d -h
这种清理方案可能导致需要作灾难恢复时无法恢复数据库,因此小编不建议用这样的方案进行清除,或者进行清理前需要用copy命令将日志归档到离线目标才是最安全的。
memcache是个缓存系统,一字之差,千差万别,别搞混了