当我决定启动 proftpd 服务器时,我遇到了 MySQL 的问题。问题是由 MySql 请求中的符号“_”引起的语法错误 (1064)。
Proftpd 版本:
ProFTPD 版本 1.3.5
MySQL版本:
mysql Ver 14.14 Distrib 5.5.43,用于 debian-linux-gnu (i686),使用 readline 6.3'
请求:每次用户登录时登录。
SQLLog PASS counter_login
SQLNamedQuery counter_login UPDATE "
last_login
=UNIX_TIMESTAMP(),login_count
=login_count
+1 WHEREusername
='%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 语法有错误; 检查与您的 MySQL 服务器版本相对应的手册,以获取在 '; 附近使用的正确语法。SETlast_login
=UNIX_TIMESTAMP(),login_count
=login_count
WHERE 'username' at line 1'
当我#这个和另一个相同的请求时,没有错误。
在 /etc/proftpd/sql.conf 中显示 proftpd 服务器的 Authenticate 请求中,他需要在 db 中获取用户信息,
SQLAuthenticate 用户组
虽然我输入了一个表'users'的名称,但当我重新启动proftpd时,表的名称是'users_ftp'(当然我在db和config(/etc/proftpd/sql.conf)中重命名表)服务器,它没有启动。
proftpd [21522]:致命:SQLAuthenticate:'/etc/proftpd/sql.conf' 第 34 行上的未知参数失败!