0

proftpd サーバーを起動することにしたとき、MySQL に問題があります。問題は、MySql リクエストのシンボル「_」が原因で発生した構文エラー (1064) でした。

Proftpd バージョン:

ProFTPD バージョン 1.3.5

MySQL のバージョン:

mysql Ver 14.14 Distrib 5.5.43、readline 6.3 を使用する debian-linux-gnu (i686) 用)

リクエスト: ユーザーがログインするたびにログを記録します。

SQLLog PASS counter_login

SQLNamedQuery counter_login UPDATE " last_login=UNIX_TIMESTAMP(), login_count= login_count+1 WHERE username='%u'"users

sql.log のエラー:

2015-07-02 21:43:09,163 mod_sql/4.3[21872]: エラー: '1064'
2015-07-02 21:43:09,163 mod_sql/4.3[21872]: メッセージ: 'SQL 構文にエラーがあります; near '; を使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。SET last_login=UNIX_TIMESTAMP(), login_count= login_countWHERE `username' at line 1'

これと別の同じリクエストを # した場合、エラーは発生しません。

また、proftpd サーバーを表示する /etc/proftpd/sql.conf での認証の要求では、db でユーザーの情報を取得する必要があります。

SQLAuthenticate ユーザー グループ

テーブル「users」の名前を入力している間はすべて問題ありませんが、テーブルの名前が「users_ftp」の場合(もちろん、データベースと構成(/etc/proftpd/sql.conf)でテーブルの名前を変更します)proftpdを再起動するとサーバー、起動しません。

proftpd[21522]: 致命的: SQLAuthenticate: '/etc/proftpd/sql.conf' の 34 行目の不明な引数が失敗しました!

4

0 に答える 0