在Mosquitto中读取.db文件

use*_*752 4 mqtt mosquitto

我正在使用Mosquitto Project(http://mosquitto.org),这是我的mosquitto.conf

persistence_file mosquitto.db

persistence_location C:/ var/lib/mosquitto /

运行后,我有mosquitto.db,但我无法打开它.我正在尝试使用Microsoft Excel,sqlitebrowser_200_b1_win,但它无法正常工作.请帮我.提前致谢

ral*_*ght 11

我刚刚在mosquitto回答跟踪器上回答了同样的问题:

https://answers.launchpad.net/mosquitto/+question/217523

mosquitto.db文件包含有关客户端订阅和保留消息的内部持久性信息.它不适合在mosquitto之外使用.无法保证是最新信息.

话虽如此,如果你有兴趣查看该文件,那么要查看的源文件是src/persist.c.还有一个以更易读的方式打印文件内容的程序 - 您应该编译src/db_dump/db_dump.c.

mosquitto.db是一个内部文件,与sql无关.


Han*_*nes 9

要读取 mosquitto.db 文件,请执行以下步骤

git clone https://github.com/eclipse/mosquitto
cd mosquitto/apps/db_dump
make
sudo ./mosquitto_db_dump /var/lib/mosquitto/mosquitto.db
Run Code Online (Sandbox Code Playgroud)

然后你会得到类似的输出

DB_CHUNK_SUB:
        Length: 54
        Client ID: <Your Client ID>
        Topic: <topic>
        QoS: 0
        Subscription ID: 0
        Options: 0x00
Run Code Online (Sandbox Code Playgroud)

或者

DB_CHUNK_MSG_STORE:
        Length: 285
        Store ID: 28935676
        Source Port: 1883
        Source MID: 4027
        Topic: <topic>
        QoS: 1
        Retain: 0
        Payload Length: 190
        Expiry Time: 0
        Payload: <Payload>
Run Code Online (Sandbox Code Playgroud)