许多朋友使用UCenter会遇到各类应用程序出现错误的链接,昨日升级UChome出现了以下问题;
错误信息:
UCenter info: MySQL Query Error
SQL:SELECT * FROM [Table]notelist WHERE closed='0' AND app2<'1' AND app2>'-5' LIMIT 1
Error:Unknown column 'app2' in 'where clause'
Errno:1054
错误解决:
uc_notelist缺少app2字段,app2对应于"应用2",在创建应用的时候ucenter需要修改uc_notelist添加对应的字段。
连接到mysql,show columns from uc_notelist; 发现果然没有app2字段,说明ucenter并没有成功创建该字段,
下载checkappid.php到uc_server目录网站并运行,出现如下错误:
Error:ALTER command denied to user 'xxxx'@'localhost' for table 'uc_notelist'
Errno:1142
SQL::ALTER TABLE uc_notelist ADD COLUMN app1 tinyint NOT NULL
说明xxxx用户没有ALTER权限。
到mysql中,
mysql> SELECT alter_priv FROM user WHERE User = 'xxxx';
发现alter_priv = 'N',果然没有权限。
修改权限:
mysql> UPDATE user SET alter_priv='Y' WHERE User = 'xxxx';
mysql> flush privileges;
重新运行checkappid.php出现:
PHP Warning: unlink(c:\wwwroot\checkappid.php): Permission denied in c:\wwwroot\checkappid.php on line 31
说明checkappid.php修改appid已经成功,我们手工删除checkappid.php即可。
mysql> show columns from uc_notelist;
各个应用的appx都已创建好。
UCenter Checkappid下载
原文见 http://www.8xif.com/web/ucenter-info-mysql-query-error-ucenter-solution.html