MySQLで「¥G;」を叩くと「ERROR: No query specified」となる場合

2021-06-22

MySQLでSQLの出力を見やすくするように「¥G;」をつけてSQL分を叩くと、「ERROR: No query specified」と表示されました。

エラーになったのはレプレリケーションしているMySQL側で「SHOW SLAVE STATUS\G;」て叩いたら、「ERROR: No query specified」と表示されたので、レプレリケーションが失敗していると思ったのですが、実際には違いました。

「¥G」は、SQL文の戻ってくる結果が垂直型に変更され表示されます。この場合は「¥G;」と入力しなくてもよく「¥G」だけOKで「;」が不要です。SQL分を叩くときに最後に「;」をつける癖があるので勝手な思い込みでした。

「¥G;」の「;」を入力した場合

mysql> SHOW SLAVE STATUS\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: testdb01
                  Master_User: dbuser
                  Master_Port: 3306
                Connect_Retry: 60
------省略-----
1 row in set (0.00 sec)

ERROR:
No query specified

正しく「¥G」と入力した場合

mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: testdb01
                  Master_User: dbuser
                  Master_Port: 3306
                Connect_Retry: 60
------省略-----
1 row in set (0.00 sec)

LinuxMySQL

Posted by admin