MySQL が私の postfix 仮想ドメイン クエリを「SQL 構文のエラー」として拒否するのはなぜですか?

MySQL が私の postfix 仮想ドメイン クエリを「SQL 構文のエラー」として拒否するのはなぜですか?

MySQL Courier + Postfix メールサーバーに問題があります

エラーログは次のとおりです:

warning: mysql:/etc/postfix/mysql-virtual_domains.cf: query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'virtual FROM `domains` WHERE domain='domain.example'' at line 1

そして次のようにコードしますmysql-virtual_domains.cf:

user = mail_admin
password = mypassword
dbname = mail
query = SELECT domain AS virtual FROM `domains` WHERE domain='%s'
hosts = 127.0.0.1

何をするか?

答え1

VIRTUAL は MySQL のキーワードです。

別のエイリアスを使用する識別子をエスケープするバックティックを使用するか、そのAS [alias]部分を完全にスキップします。設定されたマップはvirtual_alias_domainsチェックにのみ使用されますかどうかいずれにせよ結果はある、結果は次のとおりです。

「type:table」ルックアップテーブルは、テーブルエントリがルックアップ文字列に一致する場合に一致します(ルックアップ結果は無視されます)--男5ポスト会議

関連情報