問題タブ [mysql-proxy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - MySQL Proxy を使用しない MySQL へのプロキシ接続
MySQL Proxyは、オンラインでクエリを変更するために MySQL サーバーへの接続をプロキシするための最良のオプションのように思えますが、Lua のスクリプトのみをサポートしています。
Lua 以外の言語で MySQL Proxy の動作をスクリプト化することはできますか? 理想的には、C、C++、または C#?
そうでない場合、 MySQL クライアント/サーバー プロトコルを完全に実装せずに、MySQL クライアントとサーバー (C# など) の間のトラフィックを調べて修正するにはどうすればよいですか?
c - lua スクリプトから C 関数を呼び出す
これについていくつかの参考文献を見つけましたが、それらを機能させることができませんでした。mysql と mysql-proxy が入った Debian ボックスがあります。LUA スクリプトを使用して SQL クエリをインターセプトしています。
クエリを解析して処理したいので、既に開発したいくつかの C 関数でクエリを書き直すことができます。この関数を呼び出す方法を見つけようとしていますが、見つけた唯一の方法は、c MAIN 関数が LUA 登録プロセスを開始することを前提としています。
コンパイルされた C ファイルで LUA スクリプトに関数を呼び出させる方法はありますか?
どのように(LUA)電話をかけ、(C)電話を受ける必要があるかの例はありますか?
mysql - mysql-proxy 結果フィールドの操作
MYSQL サーバーと MYSQL-PROXY があり、SELECT クエリへの応答としてクライアントに送信する結果を操作しようとしています。私はluaでこのコードを書きました:
フィールド名と値を正しく読み取ることができます。結果を変更したい状況を検出できますが、クライアントに送信されたデータを取得できません。
2 つの問題があります。
- ローカル行変数に値を設定していますが、実際の結果セット (inj.Resultset.row[i] など) を設定する方法が見つかりません。
return proxy.PROXY_SEND_RESULT
その文にコメントするたびに結果が表示され、コメントを外すとエラーが発生するため、何か問題があります。
参考になるコード例が見つかりませんでした。
nginx - Google クラウド コンピューティング ロード バランサ 504 エラー
私は次の設定をしています。
nginx/php5-fpm を実行する 2 x gce n1.standard インスタンス
両方の GCE インスタンスが接続された 1 つのクラウド SQL d8 インスタンス。
フロント エンド サーバーは、フロント エンドに管理セクションがない osCommerce-2.3.3.4 の簡易版を実行しています。osC の単なるカタログ部分です。
負荷の影響を伴う負荷テストを実行しましたが、サイトは約 50 ~ 100 ユーザーで使用できません。私は、いつでも最大 500 人のユーザー/ユーザーをサポートすることだけを考えています。現在のサーバーでは、平均して約 130 ~ 170 です。
私は完全な説明を探しているわけではありませんが、チェックするのに役立つ場所、試してみるべきこと、読むべきものを探しています。このクラウド プラットフォームを私たちが望んでいたように機能させるための指示が必要です。
前もって感謝します。
mysql - Amazon ec2 の ubuntu で mysql-proxy をセットアップおよび構成する方法
Amazon ec2のubuntuでmysql-proxyをセットアップしようとしています。次のことを行いました:
「/etc/default/mysql-proxy」に次のコンテンツを配置します
また、「--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からプロキシサーバーに接続しようとしました:
しかし、その表示エラーが機能していません:
任意のホストへのリモート接続を許可した場所で、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 - MySQL プロキシと負荷分散
MySQL Proxy で接続とクエリがどのように動作するかを正確に理解したいだけです。
完全に機能しているように見えるマスターマスター構成でセットアップされた、同一のMySQLインストールを実行する2つのバックエンドサーバーがあります。つまり、一方でテーブルとデータを操作でき、その変更は即座にもう一方に反映されます。その逆も同様です。
バッチ ファイルのコマンド ラインで指定されたバックエンド サーバーを使用して、別のマシンに MySQL Proxy をインストールしました。
プロキシのアドレスを使用して Workbench 経由でデータベースにアクセスできます。
私の質問は、各サーバーにどのように、そして何が委任されているのですか? ドキュメントには、プロキシがラウンドロビンを使用してクライアントを分割すると記載されています(リクエストを均等に分割すると思いますか?)。それは実際に作成された PDO 接続が共有されることを意味するのでしょうか、それともクエリが送信されているのでしょうか?
後者の場合、サブクエリも分割しますか? そうでない場合、クライアント/接続分割を利用するために、より複雑な SQL ステートメントを再コーディングする必要がありますか?
クエリをやり直す必要があると私が考える簡単な例は次のとおりです。
次のようになります (はるかに複雑です):
それともただの狂気ですか?リクエストがサーバー間で分割されているという事実によって、余分なオーバーヘッドが相殺されるでしょうか? それとも、「従来の」方法で実行するよりもはるかに遅くなりますか?(コードエラーについては、私の頭の中にあったため、申し訳ありません)。
LIMIT が「id」ではないことはわかっています。これは単なる例です。
mysql - mysql-proxyがluaスクリプトを実行していません
SOには多くのmysql-proxyの質問があることは知っていますが、それらの多くを読みましたが、どれも私の問題を解決していないようです. 私は単純に mysql-proxy を起動して実行しようとしていますが、最終的にはプロキシを通過するいくつかのクエリを書き直すことを目的としています。ubuntu 14.04 を使用しています。mysql-proxy バージョン 0.8.1 と mysql バージョン 5.5.37 を使用しています。mysql-proxy を起動するには、コマンド ラインで次の行を実行します。
ここで、ファイル mysql-proxy.cnf は次のようになります。
私の example.lua スクリプトは非常に単純で、mysql-proxy クエリが変更されていることを確認するためだけのものです。example.lua を以下に貼り付けます
--daemon フラグを指定してこれを実行しないので、コマンド ラインで上記の行を実行すると、予期されるとおり、無期限にループします。
最後に、別のターミナル セッションで、コマンド ラインで次のコマンドを実行し、プロキシに接続するためにパスワードを入力します。
次に、使用するデータベースを選択し、テーブルの 1 つに対して単純な SELECT クエリを実行します。mysql-proxy で読んだ複数の記事/チュートリアルに基づいて、mysql-proxy を実行した最初のコンソール セッションは、example.lua ファイルに基づいていくつかのデータを出力するはずです。ただし、これは発生しません。実際には何も起こりません。
次の情報が違いを生むかどうかはわかりませんが、私の "my.cnf" mysql 構成ファイルには、これらの行がいくつかあります
IP アドレスを公開したくないので、実際の IP アドレスを 255.255.255.255 に置き換えました。
お願いします、私は数日間これを理解しようとしてきましたが、新しい lua スクリプトの量も、mysql-proxy.cnf ファイルの host:port パラメータの変更も何も解決しませんでした。私