Friday, May 10, 2013

セットアップMySQLのプロキシ

Original post: http://anothermysqldba.blogspot.com/2013/05/setup-mysql-proxy.html

だから、これはMySQLのプロキシを使用するだけの非常に単純な例です。 

MySQLのプロキシは、端の年のように感じている何のためにアルファ段階になっています。 


MySQLのプロキシのドキュメント: 

MySQLのプロキシWIKI用のMySQL鍛造サイトから残っているものは何でもここで見つけることができます: https://wikis.oracle.com/display/mysql/MySQL+Proxy 

MySQLのプロキシをインストールします : 
からダウンロードして解凍dev.mysql.com 。 現在アルファ版は、MySQLプロキシ0.8.3です。 

あなたもLuaのがインストールされていることを確認してください 

yum install lua-devel lua-static lua


次に、binディレクトリでのmysql-proxyのを見つけるでしょう。 


[root@localhost bin]# ./mysql-proxy --help
Usage:
mysql-proxy [OPTION...] - MySQL Proxy


MySQLのコマンドオプション : 

まず、日付の文書のうち、認識していることを確認する必要があります。 

あなたの設定ファイルにデーモン= trueを追加して有効であると思うかもしれません。 
これは、ドキュメントを介した次のオプションのために有効であるどのように真のすべてのポイントの後に行います。 



For example, the following is invalid:

 [mysql-proxy] proxy-skip-profiling 

But this is valid:

 [mysql-proxy] proxy-skip-profiling = true 


http://dev.mysql.com/doc/refman/5.6/en/mysql-proxy-configuration.html #option_mysql-proxy_daemonを 

しかしデーモンまたはデーモンは、次の問題で=真の結果はとても使いデーモン= 1 

./bin/mysql-proxy --defaults-file=mysql_proxy.cnf
(critical) Key file contains key 'daemon' which has value that cannot be interpreted. 


同じことがアライブ=真に当てはまります 


./bin/mysql-proxy --defaults-file=mysql_proxy.cnf
(critical) Key file contains key 'keepalive' which has value that cannot be interpreted. 


管理インタフェースの使用 : 

admin.luaファイルは、MySQL-proxyのディレクトリの下に提供されています: 
  • / libに/ mysqlのプロキシ/ LUA / admin.lua
    • ので、私はドキュメントのバージョンを使用してもこれは私のために失敗しました。
  • あなたは、ドキュメントを介して貼り付けてそれをカットすることができます
reporter.luaファイルは、/ libに/ mysqlのプロキシ/ LUA /ディレクトリに配置することができます: 


だから私は、次の設定例で終わる


vi mysql_proxy.cnf

[mysql-proxy]

admin -address =127.0.0.1: 3308

proxy -address=127.0.0.1: 3307

proxy-skip-profiling = true
daemon=1
PIDファイル=の/ var / runに/のmysql - proxy.pid
ログファイル=は/ var / log /のmysql - proxy.logなど
ログレベル=デバッグ
プロキシバックエンドアドレス= 127.0.0.1:3306
#プロキシ読み取り専用バックエンドアドレス= 127.0.0.1:3306
キープ= 1
管理者ユーザ名=ルート
管理者パスワードによる= secretpassword
管理-LUAスクリプト=は/ usr / local / srcに/ MySQLの/ mysqlのプロキシ/ admin.lua
プロキシのluaスクリプト=は/ usr / local / srcに/ MySQLの/ mysqlのプロキシ/ reporter.lua
plugin_dir =は/ usr / libに/ mysqlの/プラグイン/
プラグイン=プロキシは、admin


今回はそれが開始されます.... 


./bin/mysql-proxy --defaults-file=mysql_proxy.cnf


あなたは、そのプロキシを確認するログ尾は起動され、その後実行する管理ポート(3308)にログイン 

(message) proxy listening on port 127.0.0.1: 3307
# mysql -u root -p -P3308 -h127.0.0.1 

あなたがログインしているしたら、それをテストするために始めることができます: 

# mysql -u root -p -P3308 -h127.0.0.1

show querycounter;
+---------------+
| query_counter |
+---------------+
| NULL |
+---------------+ 



SELECT * FROM backends;
+-------------+----------------+-------+------+
| backend_ndx | address | state | type |
+-------------+----------------+-------+------+
| 1 | 127.0.0.1:3306 | 1 | 1 |
+-------------+----------------+-------+------+ 



> SHOW PROXY PROCESSLIST;
ERROR 1105 (07000): need a resultset + proxy.PROXY_SEND_RESULT ... got something else


常にあなたのログをチェックし忘れないでください... 


(critical) (read_query) [string "/usr/local/src/MySQL/mysql-proxy/admin.lua"]:152: bad argument #1 to 'pairs' (table expected, got nil) 


OK MySQLのプロキシはアップしている... 
今、問題や不満のLUA以上、なぜそれは、MySQL-プロキシの一部では、開始することができます... 

http://lua.2524044.n2.nabble.com/Beginner-from-Python-starting-to-MySQL-Proxy-td7636807.html