阿里云mongodb物理备份文件回复置自建数据库的一些小坑

  1. 在本地安装对应版本的mongodb, 参见->使用aliyun安装mongodb,redis
    • 建议和你备份的数据库版本完全一致
    • 建议使用一个全新的数据库来恢复,因为恢复后的用户名/密码和阿里云的数据库用户名/密码是一样的
  2. 安装完成新的数据库后不要忙着启动,不然你会前功尽弃
    • 这段配置照写,不然等你把后面搞完,发现这里会有问题,因为默认配置是没有directoryPerDB: true,如果你启动了,再改配置就启动不了了
      	storage:
        	  dbPath: /var/lib/mongodb
        	  directoryPerDB: true
        	  journal:
        	    enabled: true
      
    • 不要把下面的pidFilePath设到/var/run/xxx目录下,不然你会每次重启后就无法启动mongodb,而且惊奇的发现xxx目录消失了,是因为/var/run/目录下建立文件夹是在内存中
          processManagement:
         	  timeZoneInfo: /usr/share/zoneinfo
         	  fork: true
         	  pidFilePath: /var/lib/mongodb.pid/mongod.pid
      
      
      • 改了上面一步,还要改动服务所在的配置文件,把PIDFile=/var/lib/mongodb.pid/mongod.pid改成和上面的一致
  3. 其他步骤参见->将MongoDB物理备份文件恢复至自建数据库
    • 坑1: 解压物理备份文件这一步, innobackupex --decompress --remove-original /path/to/mongo/data这条命令的/path/to/mongo/data 而不是配置文件里指定的类似/var/lib/mongodb的路径,就是当前目录
    • 坑2: 有一个步骤没说: 将上一步的所有文件拷贝到配置文件(默认为/etc/mongod.conf)指定的storage.dbPath(默认为:/var/lib/mongodb), 这一步建议systemctl stop mongod停掉服务,并清空数据目录(如果你本地数据库之前有数据要保留就另说). 进入数据目录后,并执行chown -R mongodb:mongodb *
    • 坑3: 在WiredTiger存储引擎这一步按照其要求添加或更改了你的默认的配置文件(/etc/mongod.conf)的时候, 类似/path/to/xxx这种路径要改为你自己的,不能照写,尤其是pidFilePath这一项,因为默认配置文件是没有的,尤其容易照抄出错, 如果你改为如下:/var/run/mongodb/mongod.pid, 那么记得先把目录创建出来,然后touch文件, 然后chown -R mongodb:mongodb /var/run/mongodb
  4. 你最好事先知道你备份的数据的用户名和密码,因为这个恢复了的数据库的用户名和密码和你备份的是一样的
  5. 获得完全备份的数据库的下载链接进行下载的时候不需要校验权限, 也就是说一个有全限的人拿到这个链接可以四处分发,任何人都可以下载,感觉有点危险
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值