mysql:15771
From: 香西DA <香西DA <kosai@xxxxxxxxxx>>
Date: Thu, 7 Jun 2012 12:07:37 +0900
Subject: [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. とありました。 今回の値の相違の意味は、一方がトランザクション区間中で、もう一方がトラ ンザクション区間中でないということでしょうか。 両方のサーバ上で同じようにトランザクション処理をしているつもりなのですが。 以上です。
-> 15771 2012-06-07 12:07 [香西DA <kosai@xxxxxx] MySQLが返却するOKパケットのserver_status 15772 2012-06-07 13:35 ┗[<gotou1213@xxxxxxxxx] 15773 2012-06-07 14:53 ┗[香西DA <kosai@xxxxxx] 15774 2012-06-07 22:55 ┗[<gotou1213@xxxxxxxxx]