我正在亚马逊ec2上尝试在ubuntu上安装mysql-代理,我已经做了以下工作:
sudo apt-get install mysql-proxy --yes
vi /etc/default/mysql-proxy我将以下内容放在“/etc/default/mysql- content”上
ENABLED="true"
OPTIONS="--proxy-lua-script=/usr/share/mysql-proxy/rw-splitting.lua
--proxy-address=127.0.0.1:3306
--proxy-backend-addresses=private_ip_of_another_ec2_db_server:3306,private_ip_of_another_ec2_db_server:3306"还与"--proxy-address=private_ip_or_public_ip_of_proxy-server:3306或4040“和"--proxy-backend-addresses=public_ip_of_another_ec2_db_server:3306,public_ip_of_another_ec2_db_server:3306”绑定
之后,我尝试使用mysql从另一台pc连接代理服务器,例如:
mysql -u some_user -pxxxxx -h proxy_server_ip
or
mysql -u some_user -pxxxxx -h proxy_server_ip -P 4040但它没有发挥作用,它的表现错误:
ERROR 2003 (HY000): Can't connect to MySQL server on 'ip' (10061)我想告诉您,您可以在允许远程连接到任何主机的地方远程连接db服务器。
我还尝试了/etc/init.d/mysql-代理启动或/etc/init.d/mysql-代理重新启动,但没有结果。
只想告诉你/etc/init.d/mysql-代理停止显示失败
有谁能帮我在ubuntu上安装和配置mysql代理?
===
编辑
我从其他的堆叠溢出问题中找到了一些帮助,并根据评论中的一项建议,做了如下程序。现在看来起作用了。
我在本地安装了mysql-client和mysql-server (在代理服务器上),然后尝试使用以下命令运行mysql-代理:
mysql-proxy --proxy-backend-addresses=10.73.151.244:3306 --proxy-backend-addresses=10.73.198.7:3306 --proxy-address=:4040 --admin-username=root --admin-password=root --admin-lua-script=>/usr/lib/mysql-proxy/lua/admin.lua然后,我尝试远程连接到代理服务器及其工作。但是我似乎需要在屏幕下运行这个命令,因为当我关闭终端代理时,它就停止工作了。
您能告诉我,我需要在屏幕下运行这个命令吗?还是有其他方法让它一直活下去?
发布于 2014-10-01 04:08:02
不需要在Mysql上安装Mysql客户端或mysql服务器。
安装mysql-代理确实具有编译到其中的“完整守护进程功能”。
如果您正在运行Ubuntu,您可能希望使用一个UPSTART服务脚本。
此脚本可以复制到/etc/init/mysql-proxy.conf中。
# mysql-proxy.conf (Ubuntu 14.04.1) Upstart proxy configuration file for AWS RDS
# mysql-proxy - mysql-proxy job file
description "mysql-proxy upstart script"
author "shadowbq <shadowbq@gmail.com>"
# Stanzas
#
# Stanzas control when and how a process is started and stopped
# See a list of stanzas here: http://upstart.ubuntu.com/wiki/Stanzas#respawn
# When to start the service
start on runlevel [2345]
# When to stop the service
stop on runlevel [016]
# Automatically restart process if crashed
respawn
# Essentially lets upstart know the process will detach itself to the background
expect daemon
# Run before process
pre-start script
[ -d /var/run/mysql-proxy ] || mkdir -p /var/run/mysql-proxy
echo "starting mysql-proxy"
end script
# Start the process
exec /usr/bin/mysql-proxy --plugins=proxy --proxy-lua-script=/usr/share/mysql-proxy/rw-splitting.lua --log-level=debug --proxy-backend-addresses=private_ip_of_another_ec2_db_server:3306,private_ip_of_another_ec2_db_server:3306 --daemon --log-use-syslog --pid-file=/var/run/mysql-proxy/mysql-proxy.pid在上面的示例中,我将AWS RDS服务器硬编码成脚本,而不是修改默认值和配置文件。
发布于 2017-03-17 10:32:07
安装升级版0.8.5
注意:
apt回购没有0.8.5,所以我们需要从mysql官方站点下载tar
先决条件:-
创建具有以下内容的/etc/default/mysql-proxy文件ENABLED="true" OPTIONS="--defaults-file=/etc/mysql/mysql-proxy.cnf"
安装过程:-
vim /etc/environment (to update environment path) cd /usr/local/mysql-proxy-0.8.5-linux-debian6.0-x86-64bit/bin更新路径环境示例mysql-proxy.cnf文件
[mysql-proxy]
log-level=debug
log-file=/var/log/mysql-proxy.log
pid-file = /var/run/mysql-proxy.pid
daemon = true
--no-proxy = false
admin-username=ADMIN
admin-password=ADMIN
proxy-backend-addresses=RDS-ENDPOINT:RDS-PORT
admin-lua-script=/usr/lib/mysql-proxy/lua/admin.lua
proxy-address=0.0.0.0:4040
admin-address=localhost:4041https://stackoverflow.com/questions/21882942
复制相似问题