wdcp出现select * from wd_loginlog where的错误的解决方法

打开WDCP面板是这个提示,是什么原因?

MySQL Query Error:select ltime from wd_loginlog where lip=’114.106.229.55′ and state=1 order by id desc limit 10,1

真是我艹 打开面板变成这个wdcp面板变成这个吊样子,网站被cc我vps硬重启了下,重启过后网站可以正常访问,尼玛wdcp打开面板变成这个吊样子了。我日日啊。心哇哇凉。咋解决呢。思来想去,觉得就不要进面板了,备份网站都用命令算了,可是觉得修改网站代码不方便啊。还得解决。百度,,百度,百度,尼玛,有很多人跟我一样的问题,但是没人给出解决方法。我只能自己想办法了。

在wdcp官方论坛看到一个帖子,给了我思路,我觉得可以修复wd_loginlog这个数据库表,可是尼玛找了变天,什么jiba这个表没找到。在想,尼玛,烦死了。我觉得wdcp有个wdcpdb这个数据库,应该在这里面吧,可是我没看到,但是我可以修复这个数据库应该能解决问题,想到就开始动手。因为linux我也是个菜鸟,都是百度出来的命令,然后一个一个实验出来的。好在,我 还懂点基本的。一路下来,问题竟然解决了。下面给出我搞定的图片步骤!

  1. 先进入wdcp的数据库目录也就是wdcpdb这个数据库的目录,一路cd  ls命令找到了这个目录/www/wdlinux/wdcp/wdcpdb.sql  就是这个完整的路径
  2. 找到这个数据库就好办了,下面用mysqlcheck这个命令来修复这个数据库就可以了mysqlcheck这个命的用法mysqlcheck客户端工具可以检查和修复MyISAM表,还可以优化和分析表。实际上,它集成了mysql工具中check、repair、analyze、optimize的功能、有3种方式来调用mysqlcheck:shell> mysqlcheck[options] db_name [tables]

    shell> mysqlcheck[options] —database DB1 [DB2 DB3…]

    shell> mysqlcheck[options] –all–database

    如果没有指定任何表或使用—database或–all–database选项,

    则检查整个数据库。

    option中有以下常用选项:

    -c, –check (检查表);

    -r, –repair(修复表);

    -a, –analyze (分析表);

    -o, –optimize(优化表); //其中,默认选项是-c(检查表)

    例子:

    检查表(check);

    mysqlcheck -u root -c test

    修复表(repair);

    mysqlcheck -u root -r test

    修复指定的数据库用

    # mysqlcheck -A -o -r Database_NAME -p

    检查修复所有的数据库(表;

    # mysqlcheck -u root -A -0 -r -p

    每天定时自动优化MySQL数据库

    crontab -e     //把它加入 cron job 每天在 01:00 自动执行

    0 1 * * * mysqlcheck -Aao –auto-repair -u你的用户名 -p你的密码 > /dev/null 2>&1

  3. 可惜这用法也不完整,我自己补全了一下我需要的命令
  4. 命令如下:# mysqlcheck -u root -r wdcpdb -p 回车,然后输入自己的数据库密码如图
  5. 看到一路的ok表示修复完毕,我打开了wdcp的后台面板,尼玛神奇的后台登录回来了

    有问题的同学可以按照我的方法试试看。好了就说这么多了。