我在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):(代理)所有后端都已关闭
代理输出:
2015-10-26 00:04:40:[全球](关键)proxy-plugin.c.1772:无法连接,所有后端都关闭。
我在同一个VM上安装了MySQL和CryptDB。
我正在关注GitHub上CryptDB readme的步骤。
编辑:下面的问题已解决,上述问题尚无法解决。
此外,原始脚本(cryptdb/mysqlproxy/wrapper.lua
)会导致错误:
2015-10-26 00:24:33:[global](严重)(lua-error)[/home/user/cryptdb/mysqlproxy/wrapper.lua]
[string“/home/user/cryptdb/mysqlproxy/wrapper.lua"]:1:尝试连接一个零值
即使我在os.getenv("EDBDIR")
nil
中设置了EDBDIR
,也似乎~/.bashrc
返回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"))()
答案 0 :(得分:0)
对于您的第一个问题,请使用以下命令启动代理:
$ /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
。