UCenter info: MySQL Query Error SQL:SELECT value FROM [Table]vars WHERE noteexists

大家先看下数据库权限问题,然后再进行如下操作。

SQL:SELECT value FROM [Table]vars WHERE name='noteexists2′

UCenter info: MySQL Query Error
SQL:SELECT value FROM [Table]vars WHERE name='noteexists2′
Error:SELECT command denied to user ‘数据库‘@'IP地址' for table ‘pre_ucenter_vars'
Errno:1142

帮人迁移discuz,原以为很简单,数据导出,数据导入,修改uc_server/data/config.inc.php文件当中的数据库信息,网站能访问,看起来已经搞定,结果被告知无法登陆,提示数据库连接错误。只好再找了一圈,仔细核对config文件还是不行。折腾了一下午,终于发现config文件当中有一个地方是“数据库名.表”的格式而这个地方的数据库名还是之前的,修改后一切正常。

Error:SELECT command denied to user ‘pre_ucenter_vars' Errno:1142
客户购买了一个香港linux主机,要把原论坛上的数据转移过来。这位客户特意强调花钱在淘宝上请人来帮忙转移。最后淘宝上的这位仁兄拿出了很多看似很充足的理由说我们服务器有问题不能把数据转移过来。实在没办法我只得帮客户看下,要不这个客户就退款买淘宝上那位的主机了。帮忙帮客户站点转移过来后后才和发现,原来这位客户已经在淘宝那位购买了主机,就差到我们这来退款了,幸亏我手快帮站点搬家过来了。才识破淘宝那位奸计,现在的人真是没有道德啊。以往有过几个客户就是这样安装站点,转移站点找了淘宝上的人帮忙失去了客户到后来来退款。
在转移时也碰到一点小问题,康盛 dz discuz Discuz!X1.5 站点转移 论坛转移 错误 数据库连接 数据库链接 (sorry keyword!)
原本只是想导入数据库文件,在phpadmin导入sql文件然后更改一下三个文件就可以。
修改了一下三个数据库链接文件,修改了数据库名,数据库用户和密码


代码如下:

uc_server/data/config.inc.php
conf/config_global.php
conf/config_ucenter.php

但是还是出现了一下问题
前台无法登入,到后台admin.php还是无法登陆,提示内部错误,Errno:1142


代码如下:

UCenter info: MySQL Query Error
SQL:SELECT value FROM [Table]vars WHERE name='noteexists1′
Error:SELECT command denied to user ‘abc'@'localhost' for table ‘pre_ucenter_vars'
Errno:1142

想了几个办法更改了表pre_ucenter_vars还是没有什么用
最后谷歌
conf/config_ucenter.php文件
默认的语句是 define('UC_DBTABLEPRE', 'pre_ucenter_');
换成本例即要改成这样的格式
define('UC_DBTABLEPRE','`dbname`.pre_ucenter_');
dbname为新的数据库名

(0)

相关推荐

  • MySQL: mysql is not running but lock exists 的解决方法

    启动MySQL出错,查看了下状态,发现提示MySQL is not running,but lock exists: 一个网友说可能和log文件有关,于是将log文件给移除了,再重启MySQL终于OK了找了下资料,基本上都是说: 复制代码 代码如下: # chown -R mysql:mysql /var/lib/mysql # rm /var/lock/subsys/mysql # service mysql restart 执行完发现还是这个提示. 因为是在cPanel服务器上,所以又通过命

  • mySQL中in查询与exists查询的区别小结

    一.关于exists查询 explain select * from vendor where EXISTS(select * from area where area_code = vendor_prov_code ) limit 10 以上是一个典型的exists查询的sql语句. 它的作用方式是这样的:每次从vendor表中查询出一条数据,然后将这条数据中的vendor_prov_code值传递到exists查询中进行执行,也就是进行子查询的执行. 如果子查询查到的数据就返回布尔值true

  • 安装mysql出错”A Windows service with the name MySQL already exists.“如何解决

    如果以前安装过mysql,卸载重装,很可能会碰到"A Windows service with the name MySQL already exists."这样的提示.即服务已经存在. 我们可以在window任务管理器----服务中查看,发现确实存在,没有卸载干净. 解决这个问题,可以在dos窗口,使用如下命令: 复制代码 代码如下: sc delete mysql 如果成功,出现如下结果: [SC] DeleteService SUCCESS 之后,重启电脑.如果再在任务管理器--

  • mysql exists与not exists实例详解

    mysql exists与not exists实例详解 tableA |column1 | column1 |column3 | tableb |column1 | column1 |column3 | 要查询 tableA 的数据,条件是是 tableA.column1 不在 tableB 的 tableB.column2 中 也就是要得到类似以下语句的效果(not in 效果不完全等同于 not exists , 如果子查询中出现空记录, 则整个查询语句不会返回数据) SELECT a.*

  • MySQL的子查询中FROM和EXISTS子句的使用教程

    FROM 子查询 FROM 子句中的子查询 MySQL FROM 子查询是指 FROM 的子句作为子查询语句,主查询再到子查询结果中获取需要的数据.FROM 子查询语法如下: SELECT ... FROM (subquery) AS name ... 子查询会生成一个临时表,由于 FROM 子句中的每个表必须有一个名称,因此 AS name 是必须的.FROM 子查询也称为衍生数据表子查询. FROM 子查询实例 table1: s1 s2 1 5 2 12 3 20 FROM 子查询 SQL

  • MYSQL IN 与 EXISTS 的优化示例介绍

    优化原则:小表驱动大表,即小的数据集驱动大的数据集. ############# 原理 (RBO) ##################### select * from A where id in (select id from B) 等价于: for select id from B for select * from A where A.id = B.id 当B表的数据集必须小于A表的数据集时,用in优于exists. select * from A where exists (selec

  • mysql not in、left join、IS NULL、NOT EXISTS 效率问题记录

    NOT IN.JOIN.IS NULL.NOT EXISTS效率对比 语句一:select count(*) from A where A.a not in (select a from B) 语句二:select count(*) from A left join B on A.a = B.a where B.a is null 语句三:select count(*) from A where not exists (select a from B where A.a = B.a) 知道以上三

  • MySQL关于exists的一个bug

    今天碰到一个关于exists很奇怪的问题 第一个语句如下: SELECT count(1) FROM APPLY t WHERE EXISTS ( SELECT r.APPLY_ID FROM RECORD r WHERE t.APPLY_ID = r.APPLY_ID ); 产生的结果是:89584 第二个语句如下: SELECT count(1) FROM APPLY t WHERE EXISTS ( SELECT max(r.FINISH_TIME) FROM RECORD r WHERE

  • mysql insert if not exists防止插入重复记录的方法

    MySQL 当记录不存在时插入(insert if not exists) 在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的就是这个问题的解决方案. 在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的就是这个问题的解决方案. 问题:我创建了一个表来存放客户信息,我知道可以用

  • MySQL exists 和in 详解及区别

    MySQL exists 和in 详解及区别 有一个查询如下: SELECT c.CustomerId, CompanyName FROM Customers c WHERE EXISTS( SELECT OrderID FROM Orders o WHERE o.CustomerID = cu.CustomerID) 这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是CustomerID和CompanyName字段,这两个字段肯定不在OrderID里面啊

随机推荐