2012年6月 7日

[mysql 15771] MySQLが返却するOKパケットのserver_status

お世話になります。
香西といいます。

同じmysqlのデータ内容を持つ2台のサーバA、Bにそれぞれ個別に接続して
同じUPDATE文を実行しました。
両方のサーバともクエリの実行は成功するのですが、MySQLから返却される
OKパケット(ASCIIキャラクタ表示、ただし途中まで)が以下のように異なります。

サーバA
2%00%00%01%00%01%fc%89%08!%00%00%00(Rows+matched:+1++Changed:+1++Warnings:+0

サーバB
2%00%00%01%00%01%fc%89%08+%00%00%00(Rows+matched:+1++Changed:+1++Warnings:+0

以下のURL
http://forge.mysql.com/wiki/MySQL_Internals_ClientServer_Protocol#OK_Packet
でOKパケットの構成を調べると、server_status(2バイト)の内容が異なって
いました(ASCIIキャラクタ表示)。

 サーバA !%00
 サーバB +%00

同上のURLでserver_statusの意味を調べると、
server_status: = The client can use this to check if the
command was inside a transaction.
とありました。
今回の値の相違の意味は、一方がトランザクション区間中で、もう一方がトラ
ンザクション区間中でないということでしょうか。
両方のサーバ上で同じようにトランザクション処理をしているつもりなのですが。

以上です。


投稿者 xml-rpc : 2012年6月 7日 12:07
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/110778
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。