Python ejabberd Auth 脚本不响应数据库中的更改
我在 ejabberd (XMPP 服务器)中有一个基于 此链接
我稍微修改了脚本,以便它不设置变量,而是返回 true 或 false。
我正在使用 Ubuntu、MySQL、ejabberd 和 Python。
我可以验证数据库中已有的所有记录。但是,当我添加或删除记录时(我通过 phpMyAdmin 执行此操作),脚本似乎不知道数据库已更改(我在 phpMyAdmin 中删除用户,但它仍然对用户进行身份验证)。脚本识别新记录的唯一时间是当我重新启动或强制重新加载 ejabberd 服务器时。我已经被告知这不是 mySQL 缓存问题。我确保关闭了 ejabberd 的外部身份验证缓存。
我现在能想到的就是这些。如果我能想到的话,我会添加更多信息。任何帮助表示赞赏。我不知道发生了什么事。
另外:我打开了 MySQL 日志以及所有查询,因此不会跳过查询。
I have an authentication script in ejabberd (XMPP server) that based off of THIS LINK
I have slightly modified the script so that instead of setting the variable out, it just returns true or false.
I'm using Ubuntu, MySQL, ejabberd, and Python.
I can authenticate all the records that are already on the database. But, when I add or remove records (I do this through phpMyAdmin), the script doesn't seem to know that the database has changed (I remove a user in phpMyAdmin and it still authenticates the user). The only time when the script recognizes the new records is when I restart or force-reload the ejabberd server. I've already been told its not a mySQL caching problem. I made sure I turned off external authentication caching for ejabberd.
That's all I can think of right now. I'll add more information if I can think of it. Any help is appreciated. I have no idea what is going on.
Addition: I turned on the MySQL logs, and all the queries there so there is not skipping queries.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我通过将数据库引擎更改回 MYISAM 而不是 INNODB 来解决这个问题。但我想知道 INNODB 是否可以解决这个问题。
编辑:要在 innodb 中修复它,请将 autocommit 设置为 true
I managed to fix this problem by changing the database engine back to MYISAM rather than INNODB. But I would like to know if this can be fixed for INNODB.
Edit: to fix it in innodb, set autocommit to true