我正在尝试设置名为 pushpool 的开源软件,它本质上是一个 JSON rpc 服务器,由于某种原因,在尝试工作人员身份验证时,我不断收到“mysql pwdb query failed at fetch”。
这是破败:
操作系统是 Ubuntu 运行 MySql 前端:名为“SimpleCoin”的开源软件矿工连接正常,但 pushpool 在连接时返回“mysql pwdb query failed at fetch”,因为 mysql 试图将用户名读取为“?”
mysql.log 显示 pushpool 试图通过以下语句:
SELECT password FROM pool_worker WHERE username = ?
在本节中由 pushpool 的 server.json 文件调用(用户/密码信息已被编辑):
# database settings
"database" : {
"engine" : "mysql",
# 'host' defaults to localhost, if not specified
# "host" : "localhost",
# 'port' uses proper default port for the DB engine,
# if not specified
"port" : "3306",
"name" : "simplecoin",
"username" : "SuperCoolUsername",
"password" : "SuperSecretPassword",
"sharelog" : true,
"stmt.pwdb":"SELECT password FROM pool_worker WHERE username = ?",
"stmt.sharelog":"INSERT INTO shares (rem_host, username, our_result, upstream_result, reason, solution) VALUES (?, ?, ?, ?, ?, ?)"
},
工作人员/通行证信息已添加到表“pool_worker”中。
在我看来,json客户端不喜欢处理变量的方式:
"stmt.pwdb":"SELECT password FROM pool_worker WHERE username = ?",
自从“?” 没有被连接矿工的用户名正确替换,并且在使用已知工人用户名从 mysql 命令行测试时,该语句可以正常工作......
关于如何修复变量的任何想法,以便 json 将正确的语句传递给 mysql ...?
提前致谢!