MySQLバランシング

これは、2つのMySQLサーバーからの負荷分散でフェールオーバークラスターを構成する方法に関する簡単なメモです。 新しくインストールされた2つのMySQLサーバーのソースデータ。 通常の状況では、MySQLサーバー間でクエリのバランスが取れるように作業を構成する必要があります。MySQLサーバーの1つが失敗した場合、すべての要求は2番目に送られます。







まず、master-masterのようなMySQLレプリケーションを構成する必要があります。 これを行うには、問題がないことを確認してください。 それでは、このステップをスキップしましょう。 バランスを調整するには、HAProxyパッケージsocatをインストールします(データベースのステータスを表示します)。



いずれかのサーバーで、データベースのステータスを表示するユーザーを作成するリクエストを実行します。



INSERT INTO mysql.user (Host, User) values ('haproxy_ip', 'haproxy'); FLUSH PRIVILEGES;











次に、HAproxy、構成自体、およびいくつかのコメントを構成します。



 global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4000 user haproxy group haproxy daemon stats socket /var/lib/haproxy/stats mode 777 level admin listen mysql bind 0.0.0.0:3306 timeout connect 10s timeout client 1m timeout server 1m mode tcp option mysql-check user haproxy server server_db1 <FQDN >:3306 weight 1 check inter 1s rise 3 fall 1 server server_db2 <FQDN >:3306 weight 1 check inter 1s rise 3 fall 1
      
      







オプションmysql-check user haproxy-検証のためにmysqlに接続するユーザーを設定します。

server server_db1 <server FQDN>:3306 weight 1 check inter 1s rise 3 fall 1-サーバーの表示名、サーバーアドレス、利用不可状態に入る前のチェック数、状態に入る前のチェック数が設定されます。



最後に、コマンドラインからサーバーの状態を確認するには、次のコマンドを使用できます。



echo "show stat" | socat stdio /var/lib/haproxy/stats | cut -d, -f1,2,18,20,21









投稿者: Magvai69システム管理者



All Articles