問題タブ [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.

0 投票する
0 に答える
365 参照

mysql - キャッシュを効率的に無効にする方法は?

私は、php と mysql に基づく 1 つの巨大なソフトウェアのパフォーマンスを最適化しようとしています。Apache のキャッシングと MySQL のインデックスを試しましたが、十分ではありません。このソフトウェア内のすべてのフォームは、データベースの構成から動的に構築および印刷されるため、ソフトウェアは膨大な数の SQL を送信し、多くの同時接続ユーザー (平均で 200 ~ 300) が接続されている場合、全体を遅くする多くの結合を行います。

コードに触れることはできないため、アプリケーション サーバーとデータベース サーバーの間にmysql-proxyを配置し、そこでクエリ結果をキャッシュして、 lua経由でredisまたはmemchachedにアクセスできることを確認しました。私の考えは、すべてをキャッシュすることです。ただし、問題はキャッシュを無効にすることです。レコードが更新されたら、キャッシュされたすべての結果セットを無効にするにはどうすればよいですか?

アイデアの 1 つは、SQL クエリを md5 に変換し、結果をセットのキーとして格納することでした。ただし、クエリの分析も行い、同じ md5 キーとテーブルへの参照を保存します。例えば:

クエリ:

キャッシュ インスタンス A

キャッシュ インスタンス B

したがって、UPDATE、INSERT、または DELETE がこれらのテーブルに対して発行されると、特定のテーブルがクエリされたすべての結果セットが無効になります。

私はそれを使ってかなり多くの作業を行っており、これを達成するためのより簡単な方法があるかどうか疑問に思っていました.

0 投票する
2 に答える
396 参照

mysql - エラー プロキシ: MySQL クエリのリダイレクト

サーバー (例: 192.168.1.1) 宛ての MySQL クエリを別のサーバー (例: 192.168.1.2) にリダイレクトしたい

最初のサーバー (192.168.1.1) で MySQL プロキシ V0.8.5 を使用し、次のコマンドを試しました。

しかし、それは私にそれらのエラーを与えます

しかし、なぜこれが機能しないのかわかりません。サーバー上のクエリを別のサーバーにリダイレクトする他の方法を受け入れます。

詳細情報

クエリはユーザーによって行われ、それらのユーザーは最初のサーバー (192.168.1.1) の同じネットワーク内にあります。このサーバーは MySQL を実行しませんが、すべてのクエリを別のサーバー (192.168.1.2) にリダイレクトします。この他のサーバーは別のネットワークにありますが、VPN アクセスでサーバー 192.168.1.1 から見えます。

それが役に立つかどうかはわかりませんが、言及することを好みます。

あるサーバーから別のサーバーにクエリをリダイレクトする他の方法を受け入れます

0 投票する
1 に答える
82 参照

sphinx - Sphinx での MySQLProxy の使用

MySQL プロキシを使用して Sphinx 分散インデックスに挿入する比較的簡単な方法はありますか?

たとえば、MySQL プロキシに接続し、次のようなものを送信します。

insert into my_ft_index 値(1000, 'ハリーポッター');

次に、MySQLProxy は何らかの方法で 1000 のハッシュを計算し、この挿入をどこに転送するかを決定しますか?

0 投票する
1 に答える
52 参照

mysql - Ruby on rails とレプリケートされた MySQL インスタンス

[免責事項: 私は Devops の帽子をかぶっていますが、これはフルタイムの帽子でさえありません。私は RoR の帽子を持っていません。最善を尽くしているだけです。]

複数のデータセンターで実行される RoR アプリケーションがあります。MySQL では、データをすべての DC にレプリケートできますが、書き込み可能な MySQL のインスタンスは 1 つだけです。(はい、マスターにレプリケートする手法はありますが、RoR がそれを安全に行うために必要なコントラクトを維持しているとは思いません。おそらく私は間違っています。)

ほとんどの場合、RoR は MySQL から読み取りを行っているため、何かを書き込む必要がある場合を除き、RoR にローカルの MySQL インスタンスを使用するように指示できれば、はるかに高速になります。

あるいは、私が問題を間違って見ていて、これが私が言いたいことだと MySQL に伝えているのかもしれません。(実際、おそらく正しいことは、MySQL Proxy インスタンスもセットアップして、読み取り/書き込み分割を行うように指示することです。)

0 投票する
0 に答える
56 参照

mysql - 特定のユーザーの MySQL サーバーへの唯一のアクセス ポイントとしてプロキシ アドレスを作成するにはどうすればよいですか?

知っているように、 mysql-proxyは MySQL サーバーのプロキシ アドレスを作成するために使用でき、lua スクリプトを使用してクエリや結果を変更することもできます。

私の質問は、MySQL サーバーへの唯一のアクセス ポイントとしてプロキシ アドレスを作成する方法です。そのため、クライアントがサーバーと直接通信しようとすると、アクセスが拒否されます。すなわち

直接アクセスの場合は認証に失敗し、プロキシ経由の場合は成功します。

MYSQL サーバーと mysql-proxy のみを使用してこれを行うことは可能ですか、それともサードパーティのソフトウェアを使用する必要がありますか?

ありがとうございました

0 投票する
2 に答える
510 参照

mysql - すべてのmysqlリクエストを他のDBサーバーにリダイレクトします

Web アプリケーションが実行されている AWS にステージング サーバーがあります。アプリケーションは、他のプロバイダーの専用データベース サーバー (mysql/linux) を使用します。専用データベース サーバーに接続するためのプロキシ サーバーのように機能する新しいサーバーを AWS でスピンしたいと考えています。どうすれば達成できるか教えてください。