美文网首页
kong的postgre数据库挂了后的处理

kong的postgre数据库挂了后的处理

作者: 鹏鹏他爸 | 来源:发表于2018-11-11 17:27 被阅读0次

    首先,kong的postgreSql 数据库挂了,并不会立刻影响kong的运行。

    但在kong的 /usr/local/kong/logs/error.log中有不停地报错:
    2018/11/11 16:40:05 [error] 14931#0: *4252478 [lua] postgres.lua:221: [postgres] could not cleanup TTLs: connection refused, context: ngx.timer
    说明kong无法刷新缓存。
    这是只要不重启kong,该kong仍然可以使用。

    如果不想对外界访问有任何影响,可以在操作前,先将要操作的kong从负载均衡器上取消掉。一台一台来修复。

    在任意一台可以访问到的机器上安装postgre,或用postgre的docker。

    参见https://www.jianshu.com/p/5f31ccf9ecb3

    可以新建一个kong数据库,也详见上一步的连接。

    修改kong的配置文件,/etc/kong/kong.conf:

    pg_host = 172.xx.xxx.xxx # The PostgreSQL host to connect to.
    pg_port = 5435 # The port to connect to.
    pg_user = postgres # The username to authenticate if required.
    pg_password = aaxxx # The password to authenticate if required.
    pg_database = postgres # The database name to connect to.

    pg_ssl = off
    pg_ssl_verify = off

    把host ip,port,user, password, database都改为最新建立的。

    运行 kong migrations up -c /etc/kong/kong.conf

    然后重启kong

    kong restart
    

    这时新建的kong数据库都是空的。要在konga中restore 以前的备份到这个kong中:

    konga中选择这个坏了的kong,并点击ACTIVATE


    image.png

    然后选择SNAPSHOTS,在最新的或要恢复的备份上点击DETAILS

    image.png

    在下一个页面上点击RESTORE,勾选所有对象后点击IMPORT OBJECTS即可


    image.png

    这样,这个kong又满血复活。

    相关文章

      网友评论

          本文标题:kong的postgre数据库挂了后的处理

          本文链接:https://www.haomeiwen.com/subject/bozxfqtx.html