我尝试使用 sudo apt-get 进行安装,如下所示,但出现错误
majid@K53SC:~$ sudo apt-get install mysql-proxy
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package mysql-proxy
尝试下载 linux-Genereic (https://downloads.mysql.com/archives/proxy/)并提取并运行;但mysql客户端无法通过代理连接到服务器:
1号航站楼:
$ mysql-proxy --proxy-address=127.0.0.1:4040 --proxy-backend-addresses=localhost:3306 --proxy-lua-script=/home/majid/Documents/first_example.lua --plugins=proxy
2016-11-01 20:34:20: (critical) plugin proxy 0.8.5 started
we got a normal query: select @@version_comment limit 1
2 号航站楼:
majid@K53SC:~$ mysql -h 127.0.0.1 -P4040 -u root -ppassword
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
它就呆在那里;什么也没有发生。
那么在 Ubuntu 16.04 中安装和使用 mysql-proxy 的正确方法是什么?
问候
编辑:
按照大卫·福斯特的评论 我已经下载了Deb 软件包 Trusty并安装。我现在得到如下信息:
1号航站楼:
$ mysql-proxy --proxy-address=127.0.0.1:4040 --proxy-backend-addresses=localhost:3306 --proxy-lua-script=/home/majid/Documents/first_example.lua --plugins=proxy
2 号航站楼:
$ mysql -h 127.0.0.1 -P4040 -u root -ppassword
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1043 (08S01): Bad handshake
答案1
mysql-proxy 项目似乎已经废弃了 2 年多,这可能是它从 Xenial 存储库中删除的原因。它可能与较新的 MySQL 版本不兼容。
3 岁安装通知建议使用 5.1.x 版本Xenial 存储库包含 MySQL 5.7且无更早版本。
答案2
MariaDB 使用 MaxScale MySQL 代理解决了这个问题。该代理可从其网站下载。此外,如果您使用 AWS,则可以从 Marketplace 运行打包的 MaxScale 作为 SQLSplitterhttps://www.youtube.com/embed/IGkEdceW0so