我在 Ubuntu 14.04 中安装了 CryptDB。我想启动代理:
$ /home/user/cryptdb/bins/proxy-bin/bin/mysql-proxy \
--plugins=proxy \
--event-threads=4 \
--max-open-files=1024 \
--proxy-lua-script=$EDBDIR/mysqlproxy/wrapper.lua \
--proxy-address=127.0.0.1:3307 \
--proxy-backend-addresses=localhost:3306
它开始了:
2015-10-26 00:04:34: [global] (*) mysql-proxy 0.9.0 started
然后我使用这个命令登录mysql:
$ mysql -u root -pletmein -h 127.0.0.1 -P 3307
显示:
ERROR 1105 (HY000): (proxy) all backends are down
代理输出:
2015-10-26 00:04:40: [global] (critical) proxy-plugin.c.1772: Cannot connect, all backends are down.
我在同一虚拟机上安装 MySQL 和 CryptDB。
我正在按照 CryptDB readme 上的步骤操作在 GitHub 上。
<小时/>编辑:下面的问题已修复,上面的问题尚未修复。
此外,原始脚本(cryptdb/mysqlproxy/wrapper.lua
)会导致错误:
2015-10-26 00:24:33: [global] (critical) (lua-error) [/home/user/cryptdb/mysqlproxy/wrapper.lua]
[string "/home/user/cryptdb/mysqlproxy/wrapper.lua"]:1: attempt to concatenate a nil value
似乎os.getenv("EDBDIR")
返回nil
即使我已经在~/.bashrc中设置了
:EDBDIR
EDBDIR=/home/user/cryptdb
。
所以我只是像这样修改代码,希望这不会导致另一个问题:
-- assert(package.loadlib(os.getenv("EDBDIR").."/obj/libexecute.so",
assert(package.loadlib("/home/user/cryptdb/obj/libexecute.so",
"lua_cryptdb_init"))()
最佳答案
对于您的第一个问题,请使用以下命令启动代理:
$ /home/user/cryptdb/bins/proxy-bin/bin/mysql-proxy \
--plugins=proxy \
--event-threads=4 \
--max-open-files=1024 \
--proxy-lua-script=$EDBDIR/mysqlproxy/wrapper.lua \
--proxy-address=127.0.0.1:3307 \
--proxy-backend-addresses=127.0.0.1:3306
请注意使用127.0.0.1而不是localhost。
对于第二个问题,请按照上面的建议将 export EDBDIR=/home/user/cryptdb
添加到 .bashrc
中。
关于mysql - CryptDB - 无法连接到代理(错误 1105 (HY000) : (proxy) all backends are down),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33332174/