热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

服务器之间,迁移Thingsboard起在docker里面的psql数据库

1进入需要被迁移的docker的psql数据库dockerexec-it容器idbinbash2备份thingsboard数据库,到当前目录下,文件名

1 进入需要被迁移的docker的psql数据库

docker exec -it 容器id /bin/bash

2 备份thingsboard数据库,到当前目录下,文件名为psql.bak

pg_dump -h localhost -U postgres thingsboard > psql.bak

3 从容器中出来,在宿主机执行命令,将psql.bak文件移动到宿主机的/home/file文件夹下

#docker cp containerID:container_path host_path
docker cp 579e1e11ba4a:psql.bak /home/file

4 将备份文件远程传输到其他服务器

#scp -P port filename user@ip:/path
scp -P 22 psql.bak root@192.168.1.1:/home/

5 到目标服务器192.168.1.1的home目录下,启动一个psql容器

docker run -it --name thingsboard-postgresql -v thingsboards:/var/lib/postgresql/data -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres:11.7
ae382d1a641a

6 在新启动的psql容器内新建一个名为thingsboard的数据库(我是用navicat连接psql数据库,新建了一个thingsboard数据库,方便快捷)
7 将thingsboard配置文件修改为新的psql数据库ip和信息
centos重新配置thingsboard的psql数据库
重新加载数据库文件,启动thingsboard

# --loadDemo option will load demo data: users, devices, assets, rules, widgets.
#重载数据库文件
/usr/share/thingsboard/bin/install/install.sh --loadDemo
#启动thingsboard服务
service thingsboard start

8 将新建的thingsboard删了,是的!删了!重新建一个!这时候新建的thingsboard数据库里面是空的(如果不删数据库重新建,直接恢复备份会出现重复数据,thingsboard无法正常运行,所以我的处理办法是,删了重建一个空的数据库,这样备份会成功,thinsboard也会重启成功)
删除时出现There are 2 other sessions using the database处理办法
9 将home文件夹下的psql.bak备份文件复制到刚才启动的psql容器的/目录下

[root@km1 home]#docker cp psql.bak ae382d1a641a:/

10 进入psql容器

docker exec -it ae382d1a641a /bin/bash

11 用psql.bak恢复数据

psql -h localhost -U postgres -d thingsboard < psql.bak

12 无需重启thingsboard&#xff0c;此时数据已重新恢复&#xff0c;可自行验证。


推荐阅读
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 如何在php文件中添加图片?
    本文详细解答了如何在php文件中添加图片的问题,包括插入图片的代码、使用PHPword在载入模板中插入图片的方法,以及使用gd库生成不同类型的图像文件的示例。同时还介绍了如何生成一个正方形文件的步骤。希望对大家有所帮助。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了在CentOS 7.x上进行端口映射配置的方法,通过修改内核和配置防火墙实现端口映射。作者分享了自己使用华为服务器进行端口映射的经验,发现网速比直连还快且稳定。详细的配置过程包括开启系统路由模式功能、设置IP地址伪装、设置端口映射等。同时,还介绍了如何监听本地端口的tcp请求,以及删除规则和开放的端口的方法。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 本文探讨了容器技术在安全方面面临的挑战,并提出了相应的解决方案。多租户保护、用户访问控制、中毒的镜像、验证和加密、容器守护以及容器监控都是容器技术中需要关注的安全问题。通过在虚拟机中运行容器、限制特权升级、使用受信任的镜像库、进行验证和加密、限制容器守护进程的访问以及监控容器栈,可以提高容器技术的安全性。未来,随着容器技术的发展,还需解决诸如硬件支持、软件定义基础设施集成等挑战。 ... [详细]
  • 随着我司的应用都开始容器化,相应的ETL流程也需要迁移到容器中。常规的SQL和shell脚本迁移之后执行基本没有问题,主要的问题在于数据接入使用kettle的场景下,kettle启 ... [详细]
  • centos6.8 下nginx1.10 安装 ... [详细]
  • docker容器的数据管理一:数据卷实现数据的永久化,完全独立于容 ... [详细]
author-avatar
菜鸟1枚
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有