记录一次离奇的pureftpd+mysql用户530无法登录问题

是这样的pureftpd还算是个比较轻量的服务器ftp软件,还可以搭配比较灵活的认证。其中有一种用法就是搭配mysql,把用户身份存在在mysql里面方便管理。但是当我把环境搭建好之后创建了ftp用户发现连接后认证失败530。在log里面看到说pureftpd无法连接数据库,access denied ftp@localhost。

网上有很多说法,包括localhost和127.0.0.1之间的host问题等。但是日志里面其实我们明确这是mysql用户登录问题,导致pureftpd无法查询数据库。然后我反反复复折腾重新创建数据库用户,确认密码正确性等等,均无果,直到有一次我在重启pureftpd服务的时候发现

[root@vps7 ~]# service pureftpd restart
Restarting Pure-FTPd: Stopping Pure-FTPd: Pure-FTPd is not running.
Starting Pure-FTPd: Running: /usr/local/pureftpd/sbin/pure-ftpd –daemonize -A -c50 -B -C5 -D -E -fftp -H -I15 -lmysql:/usr/local/pureftpd/pureftpd-mysql.conf -lunix -L2000:8 -m4 -p20000:30000 -s -U133:022 -u100 -k99 -Z

什么鬼,pureftpd not running? 我看了下进程pureftpd确实是在跑的进程,进一步查看这个启动脚本看到它从一个位置获取pureftpd的pid,而那个pid文件并不存在。所以其实我重启pureftpd服务实际上并不成功,老的进程没杀掉,新的进程肯定因为端口冲突不能正常起来,所以修改的配置也没有生效。手工杀掉重新启动服务之后就ok了,观察pid文件也正常了。

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据