3

Amazon ec2のubuntuでmysql-proxyをセットアップしようとしています。次のことを行いました:

sudo apt-get install mysql-proxy --yes
vi /etc/default/mysql-proxy

「/etc/default/mysql-proxy」に次のコンテンツを配置します

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-proxy start または /etc/init.d/mysql-proxy restart も試しましたが、結果はありませんでした

/etc/init.d/mysql-proxy stop が失敗したと表示されていることをお知らせするだけです

ubuntuでmysql-proxyをセットアップして構成するのを手伝ってくれる人はいますか

===

編集

私はスタックオーバーフローの他の質問からいくつかの助けを見つけました。また、コメントの提案に従って、次の手順を実行しました。そして、それは今働いているようです。

mysql-client と mysql-server をローカル (プロキシ サーバー上) にインストールし、次のコマンドを使用して mysql-proxy を実行しようとしました。

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

次に、プロキシサーバーにリモートで接続して、その作業を試みました。しかし、ターミナルプロキシを閉じると動作が停止するため、画面の下でこのコマンドを実行する必要があるようです。

このコマンドを画面の下で実行する必要があるか、または常に有効にする他の方法があるか教えてください。

4

2 に答える 2

2

mysql-proxy に Mysql クライアントまたは Mysql サーバーをインストールする必要はありません。

mysql-proxy をインストールすると、「完全なデーモン機能」がコンパイルされます。

Ubuntu Server を実行している場合は、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 サーバーをスクリプトにハードコーディングしました。

于 2014-10-01T04:08:02.813 に答える