CryptDB - 无法连接到代理(ERROR 1105(HY000):(代理)所有后端都关闭)

时间:2015-10-25 16:38:59

标签: mysql proxy lua

我在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"))()

1 个答案:

答案 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