Create The World With Creativity      
 

 本页主题: 各种经典问题收集[有问题请先看此贴]收集中...

ruinjoy 
本条目叙述关于安装论坛时, MySQL 连接发生的一些问题

解决方法:
 
Access denied 错误  
---------------------------------------------------------------------
当您收到下面这样的类似错误时

BMForum MySQL Connector Message: Can not connect to MySQL server

Time: 2006-4-1 8:32am
Script: /bbs/install.php

Description: Access denied for user: '[email protected]' (Using password: NO)
Error NO.: 1045
请注意检查这些方面:

datafile/config.php 等文件权限是否设置为可写(777)
MySQL 连接的数据库用户名或密码、或数据库名称是否正确


Data too long 错误
----------------------------------------------------------------------
当您收到下面这样的类似错误时

BMForum MySQL Connector Message: Can not connect to MySQL server

Time: 2006-4-1 8:32am
Script: /bbs/install.php

Description: Data too long for column 'qqmsnicq' at row 1
Error NO.: 1406
您需要在安装第一步的时候选择强制编码

数据乱码
--------------------------------------------------------
当您发现全新安装后,您的新板块、用户组等变成乱码时,请在安装的时候注意选择强制编码,或不选择。这需要您在您所在的服务器进行尝试后,才能正常显示。

MySQL 5/4.1 环境后台失效
-------------------------------------------------------
当服务器用 MySQL 4.1 以上(包括 4.1) 版本时,如果发生常规选项、用户组权限无法设置、或无法登陆后台等问题,并同时排除权限设置问题,您需要在安装第一步的时候选择强制编码。





问题:分论坛特定用户组为什么设置之后也没有效果? 
答、这是由于没有按照正确操作步骤进行,正确的步骤是:

使用此功能须知:
1、先编辑该论坛,勾选 使用特定用户组(权限)设置
2、进入分论坛特定用户组,同步论坛主用户组
3、开始设置


有问题请先看此贴,如果问题仍无法解决,请使用搜索.最后才好发贴提问.望体谅斑竹!谢谢! 



[此帖于 2013-04-30 23:58 ruinjoy 编辑]

本帖评分记录
批注:精品文章
操作者:wueiz
金钱变动:100
积分变动:-10
日期:1970-01-01 08:00
批注:
操作者:wueiz
金钱变动:100
积分变动:10
日期:1970-01-01 08:00
批注:
操作者:wueiz
金钱变动:100
积分变动:10
日期:1970-01-01 08:00
随意贴(Tags): 公告 
【广告】有疑问?立即访问 在线帮助中心

萧萧魔兽无敌
再过几十年,我们来相会,送到火葬场,全部烧成灰,你一堆,我一堆,谁也不认识谁,全部送到农村做化肥
资料 消息
 回复 评分 引用  批量引用    #1 2006-08-05 22:17

ruinjoy 
如何使用  自定义 BMB Code?
举例说明,下面的每一项应该怎么填
=========  

代码名 :闪客
代码标签 :flash
代码简介: FLASH播放
搜索 : (\[flash=)(\d+?)(\,)(\d+?)(\])(.+?)(\[\/flash\])
替换: <OBJECT CLASSID=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" WIDTH=\2 HEIGHT=\4><PARAM NAME=MOVIE VALUE=\6><PARAM NAME=PLAY VALUE=TRUE><PARAM NAME=LOOP VALUE=TRUE><PARAM NAME=QUALITY VALUE=HIGH><EMBED SRC=\6 WIDTH=\2 HEIGHT=\4 PLAY=TRUE LOOP=TRUE QUALITY=HIGH></EMBED></OBJECT>

代码例子: [flash=300,400]http://oa.ahnw.gov.cn/oa/FTBImages/yebin/byzp1.swf[/ flash]

例如: [hello]abc[/hello]



\2的意思是标记了你所填写的大小..他所对应的是(\d+?)
\4的对应是(\d+?),解释同上
\6对应的是(.+?),标记了SCR的地址..


[此帖于 2006-08-06 21:14 msxcms 编辑]

MEYU 美国VPS 「512M 80元/月」

萧萧魔兽无敌
再过几十年,我们来相会,送到火葬场,全部烧成灰,你一堆,我一堆,谁也不认识谁,全部送到农村做化肥
资料 消息
 回复 评分 引用  批量引用    #2 2006-08-05 22:18

ruinjoy 
如果您在修改任何PHP文件后发生


  * 不能登入或者不能登出;
  * 页顶出现一条空白;
  * 页顶出现错误警告;
  * 其它不正常的情况。
则多半是编辑器的问题。

本程序采用UTF-8编码。现在几乎所有的文本编辑软件都可以显示并编辑UTF-8编码的文件。但是很遗憾,其中很多软件的表现并不理想。

请使用 ' EmEditor EditPlus FrontPage ' 编辑器
不要使用 ' 记事本 UltraEdit '
---------------------------------------------------------------------

phpmyadmin操作视频教程
http://www.bmforum.com/bmb/topic_129981.html
---------------------------------------------------------------------------------------------

不能登入或者不能登出的解决方法还有

清空COOKIES..
工具-->internet选项-->删除cookies..
一个是风格的原因...


[此帖于 2006-08-06 19:35 ruinjoy 编辑]

[开发组倾力编写的说明文档,不可不看]

萧萧魔兽无敌
再过几十年,我们来相会,送到火葬场,全部烧成灰,你一堆,我一堆,谁也不认识谁,全部送到农村做化肥
资料 消息
 回复 评分 引用  批量引用    #3 2006-08-05 22:18

ruinjoy 
论坛备份及恢复时注意事项
 
目录无文件
请注意,发生这种情况一般是服务器权限设置导致的,您需要事先建立好下面的目录:(以 bak12345 为存放目录为例)

/bak12345
/bak12345/other
/bak12345/other/rules
/bak12345/other/badman
/bak12345/other/rowads
同时,上述目录权限必须全部设置为 777 (可写)

之后,在论坛备份系统的 指定目录名称(若不存在程序将尝试建立) 中输入 bak12345 即可。

超时错误
当出现无文字提示或有类似 set_time_limit 超时的时候,请尝试将 每次备份帖子数量 设置得小一点。

论坛恢复
注:此处所述的问题,均为备份数据完整情况下所发生的情况。

无法恢复用户等数据

如果您在论坛备份的时候,安装了诸如银行、在线时间计算等插件(他们都修改过用户数据表的数据结构),在您恢复论坛的时候,如果用户数据无法恢复,您需要首先将原始备份论坛中,所安装的插件逐一先安装后,再尝试恢复数据。

GZIP 解压不可用

当恢复时的服务器不支持 Gzip 压缩/解压缩,您需要手动将所有 Gzip 压缩过的数据文件解包,并删除一个名为 gzip 的文件。


[此帖于 2006-08-06 19:36 ruinjoy 编辑]

[开发组倾力编写的说明文档,不可不看]

萧萧魔兽无敌
再过几十年,我们来相会,送到火葬场,全部烧成灰,你一堆,我一堆,谁也不认识谁,全部送到农村做化肥
资料 消息
 回复 评分 引用  批量引用    #4 2006-08-05 22:18

ruinjoy 
将论坛的页面输出为 HTML
启用方法
1. 确保您的服务器支持 Rewrite (一般情况下, Apache, Zeus 都可以支持)。如果服务器是 IIS,需要使用相关插件来实现(不推荐)

2. 向论坛所在目录上传名为 “.htaccess”的文件(不包括引号),内容为:

Apache Web Server
 
<IfModule mod_rewrite.c>
RewriteEngine on

RewriteBase /bbs

RewriteRule ^index.html$ index.php

RewriteRule ^forums_([0-9]+).html$ forums.php?forumid=$1

RewriteRule ^forums_([0-9]+)_([0-9]+).html$ forums.php?forumid=$1&page=$2

RewriteRule ^forums_([0-9]+)_([0-9]+)_([a-zA-Z0-9]*)_([a-zA-Z]*)_([a-zA-Z]*).html$ forums.php?forumid=$1&page=$2&jinhua=$3&listby=$4&trash=$5

RewriteRule ^topic_([0-9]+).html$ topic.php?filename=$1

RewriteRule ^topic_([0-9]+)_([a-zA-Z0-9]*).html$ topic.php?filename=$1&page=$2

</IfModule>


ISAPI Rewrite
 
[ISAPI_Rewrite]
CacheClockRate 3600

RepeatLimit 32

RewriteBase /bbs

RewriteRule ^index.html$ index.php

RewriteRule ^forums_([0-9]+).html$ forums.php\?forumid=$1

RewriteRule ^forums_([0-9]+)_([0-9]+).html$ forums.php\?forumid=$1&page=$2

RewriteRule ^forums_([0-9]+)_([0-9]+)_([a-zA-Z0-9]*)_([a-zA-Z]*)_([a-zA-Z]*).html$ forums.php\?forumid=$1&page=$2&jinhua=$3&listby=$4&trash=$5

RewriteRule ^topic_([0-9]+).html$ topic.php\?filename=$1

RewriteRule ^topic_([0-9]+)_([a-zA-Z0-9]*).html$ topic.php\?filename=$1&page=$2

Zeus Web Server

在虚拟主机配置中找到 Request Rewriting,在 Rewrite Script 中写入以下内容,然后 Apply changes 并 make it take effect。

match URL into $ with ^(.*)/forums_([0-9]+)\.html$  

if matched then

set URL = $1/forums.php?forumid=$2

endif

match URL into $ with ^(.*)/forums_([0-9]+)_([0-9]+)_([a-zA-Z0-9]*)_([a-zA-Z]*)_([a-zA-Z]*)\.html$

if matched then

set URL = $1/forums.php?forumid=$2&page=$3&jinhua=$4&listby=$5&trash=$6

endif

match URL into $ with ^(.*)/forums_([0-9]+)_([0-9]+)\.html$

if matched then

set URL = $1/forums.php?forumid=$2&page=$3

endif

match URL into $ with ^(.*)/topic-([0-9]+)\.html$

if matched then

set URL = $1/topic.php?filename=$2

endif

match URL into $ with ^(.*)/topic_([0-9]+)_([a-zA-Z0-9]*)\.html$

if matched then

set URL = $1/topic.php?filename=$2&page=$3

endif

注意,请将所有的 /bbs/ 替换为论坛所在路径,例如:

http://www.hellobmf.com/forum/ 的路径则为 /forum/

http://bbs.hellobmf.com/ 的路径则为 /

3. 进入论坛管理中心,设置常规选项,将 采用 Rewrite 伪装 HTML 页面 选项打开

[此帖于 2006-08-06 19:39 ruinjoy 编辑]

【广告】有疑问?立即访问 在线帮助中心

萧萧魔兽无敌
再过几十年,我们来相会,送到火葬场,全部烧成灰,你一堆,我一堆,谁也不认识谁,全部送到农村做化肥
资料 消息
 回复 评分 引用  批量引用    #5 2006-08-05 22:18

ruinjoy 
Session

From BMForum
Jump to: navigation, search
当您遇到页面不断刷新,或页脚有一长串报错时,很有可能是 Session 设置的问题,下面有两种解决方法:

联系服务器管理员
这种问题通常是服务器没有设置 Tmp 临时目录导致的(一般位于PHP、程序所在分区:根目录/tmp),联系服务器管理员是最好的解决办法。

在常规选项打开 自建 Session
在 常规选项设置 中,可以打开 自建 Session 目录,可以临时缓解该问题。在 Windows 环境下切不要长期打开,这会导致论坛tmp目录长期积压,致而服务器速度变慢。

--------------------------------------------------------------------------------------------

BMForum 的风格安装非常简单,一般按照下面的步骤即可安装成功

下载,打开风格压缩包
原封不动地将所有压缩包内文件上传到 BMF 根目录下(即用压缩包内文件覆盖已经存在的文件、目录)
进入管理中心->调整论坛数据->刷新风格缓存

至此风格已经安装成功了

----------------------------------------------------------------------------------------

更多请查看
http://wiki.bmforum.com/%E9%A6%96%E9%A1%B5


[此帖于 2006-08-06 19:43 ruinjoy 编辑]

MEYU 美国VPS 「512M 80元/月」

萧萧魔兽无敌
再过几十年,我们来相会,送到火葬场,全部烧成灰,你一堆,我一堆,谁也不认识谁,全部送到农村做化肥
资料 消息
 回复 评分 引用  批量引用    #6 2006-08-05 22:18

flashack 
数据库问题解决方法整理

一、Can't connect to MySQL server on 'localhost' (10061)
翻译:不能连接到 localhost 上的mysql
分析:这说明“localhost”计算机是存在的,但在这台机器上却没提供MySQL服务。
需要启动这台机器上的MySQL服务
如果机子负载太高没空相应请求也会产生这个错误。
解决:
既然没有启动那就去启动这台机子的mysql。如果启动不成功,多数是因为你的my.ini配置的有问题。重新配置其即可。
如果觉得mysql负载异常,可以到mysql/bin 的目录下执行mysqladmin -uroot -p123 processlist来查看mysql当前的进程 二、

Unknown 二、MySQL Server Host 'localhosadst' (11001)
翻译:未知的MySQL服务器 localhosadst
分析:服务器 localhosasdst 不存在。或者根本无法连接
解决:仔细检查自己论坛下面的 ./config.inc.php 找到
$dbhost
重新设置为正确的mysql 服务器地址

三、Access denied for user: '[email protected]' (Using password: YES)
翻译:用户 roota 访问 localhost 被拒绝(没有允许通过)
分析:造成这个错误一般数据库用户名和密码相对mysql服务器不正确
解决:仔细检查自己论坛下面的 ./config.inc.php 找到
      $dbuser
     $dbpw
  核实后重新设置保存即可

四、Access denied for user: '[email protected]' to database 'newbbs'
翻译:用户 red 在localhost 服务器上没有权限操作数据库newbbs
分析:这个提示和问题三是不同的。那个是在连接数据库的时候就被阻止了,而这个错误是在对数据库进行操作时引起的。比如在select update等等。这个是因为该用户没有操作数据库相应的权力。比如select 这个操作在mysql.user.Select_priv里记录 Y 可以操作N 不可以操作。
解决:
如果是自己的独立主机那么更新mysql.user 的相应用户记录,比如这里要更新的用户为red 。或者直接修改 ./config.inc.php 为其配置一个具有对数据库操作权限的用户
或者通过如下的命令来更新授权
grant all privileges on dbname.* to 'user'@'localhost' identified by 'password’
提示:更新了mysql库中的记录一定要重启mysql服务器才能使更新生效
FLUSH PRIVILEGES;


五、No Database Selected
翻译:没有数据库被选择上
分析:产生的原因有两种
config.inc.php 里面$dbname设置的不对。致使数据库根本不存在,所以在 $db->select_db($dbname); 时返回了false
和上面问题四是一样的,数据库用户没有select权限,同样会导致这样的错误。当你发现config.inc.php的设置没有任何问题,但还是提示这个错误,那一定就是这种情况了。
解决:对症下药
打开config.inc.php 找到$dbname核实重新配置并保存
同问题四的解决方法


六、Can't open file: 'xxx_forums.MYI'. (errno: 145)
翻译:不能打开xxx_forums.MYI
分析:
服务器非正常关机,数据库所在空间已满,或一些其它未知的原因,对数据库表造成了损坏。
类unix 操作系统下直接将数据库文件拷贝移动会因为文件的属组的问题而产生这个错误
解决:  
修复表即可,用phpmyadmin 或者 repair.php或者直接用命令修复 myisamchk -f ../data/newbbs/*.MYI
修改文件的属组


七、Table 'test.xxx_sessions' doesn't exist
翻译:xxxxx表不存在
分析:在执行sql语句时没有找到表,比如:SELECT * FROM xxx_members WHERE uid=’XX’ 这里如果表xxx_members不存在于$dbname库里,那么就会提示这个错误。具体可分为以下三种情况来讨论:
安装插件或者hack时修改了程序文件,而忘记了对数据库作相应的升级。
后台使用了不完全备份,导入数据时没有导入到已经安装了相应版本的论坛的数据库中。 
解决: 同样对症下药,不同的原因不同的处理方法。
仔细对照插件作者提供的安装说明,把遗漏的对数据库的操作补上,如果仍然不能解决问题,那么应该怀疑该插件的可用性了。去咨询一下插件作者,或者将其卸载。 
不要张冠李戴,多大的脚就穿多大的鞋。总之使得程序文件和数据库配套即可.


八、Unknown column 'column_name' in 'field list'
翻译:未知的字段名 column_name
分析:在执行sql语句是出现了指定表中没有的字段名称,就会出现这个错误。具体导致的原因可分为以下两种
安装插件或者hack时修改了程序文件,而忘记了对数据库作相应的升级。
程序文件和数据库不配套,比如d2.5的数据库配置给d4.1的程序来用肯定会出现这个错误。
解决: 导致的原因和问题八的1和 3是相同的,所以解决方法也一样。


九、You have an error in your SQL syntax
翻译:有一个语法错误在你的sql中
分析:论坛标准的程序是没有sql语法错误的。所以造成这个错误的原因一般就两类
安装插件或擅自修改程序。
不同的数据库版本数据库导出导入,比如MySQL4.1的数据在导出的语句包含了MySQL4.0没有的功能,像字符集的设定,这时如果将这些sql导入到MySQL4.0的时候就会产生sql语法错误。
解决:
仔细检查看到底是哪里的错误,将其修正,实在不行就用标准程序把出错的程序替换。
在数据库备份的时候要留意,如果不打算倒入到其他版本的mysql中则不用特殊考虑,反之要特殊的设定。使用DZ4.1的后台数据备份,可以按照提示去设定想要的格式。独立主机的也可以在到处的时候将其导出为mysql4.0的格式。
    mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk --skip-opt databse > test.sql


十、Duplicate entry 'xxx' for key 1
翻译:插入 xxx 使索引1重复
分析:索引如果是primary unique这两两种,那么数据表的数据对应的这个字段就必须保证其每条记录的唯一性。否则就会产生这个错误。
一般发生在对数据库写操作的时候,例如Discuz!4.1论坛程序要求所有会员的用户名username必须唯一,即username的索引是unique,这时如果强行往cdb_members表里插入一个已有的username的记录就会发上这个错误,或者将一条记录的username更新为已有的一个username。
改变表结构的时候也有可能导致这个错误。例如 Discuz!4.0论坛的数据库中cdb_members.username 的索引类型是index这个时候是允许有相同username的记录存在的,在升级到4.1的时候,因为要将username的索引由原来的index变为unique。如果这时cdb_members里存在有相同的username的记录,那么就会引发这个错误。
导出数据据时有时会因为一些原因(作者目前还不清楚)导致同一条记录被重复导出,那么这个备份数据在导入的时候出现这个错误是在所难免的了。
修改了auto_increment的值,致使“下一个 Autoindex”为一条已经存在的记录
解决: 两种思路,一是破坏掉唯一性的索引。二是把重复的数据记录干掉,只保留一条。很显然第一种思路是不可取的。那么按照二的思路我们得出以下几种解决方法,对应上面的i ii iii

按照错误提示里的信息到数据库中将重复的记录删除,仅保留一条即可。之后继续执行升级操作。
这种情况发生的概率很小,可以用文本编辑器打开备份文档,查找重复的信息。将其多余的拿掉,仅保留一条即可。
查询出表中auto_increment最大的一条记录,设置auto_incerment比其大一即可。


十一、 Duplicate key name 'xxx'
翻译:索引名重复
分析:要创建的索引已经存在了,就会引发这个错误,这个错误多发生在升级的时候。可能是已经升级过的,重复升级引起的错误。也有可能是之前用户擅自加的索引,刚好与升级文件中的所以相同了。
解决: 看看已经存在的索引和要添加的索引是否一样,一样的话可以跳过这条sql语句,如果不一样那么现删除已存在的所以,之后再执行。


十二、 Duplicate column name 'xxx'
翻译:字段名xxx重复
分析:添加的字段xxx已经存在,多发生在升级过程中,与问题十二的产生是一样的。
解决: 看一下已经存在的字段是否和将要添加的字段属性完全相同,如果相同则可以跳过不执行这句sql,如果不一样则删除掉这个字段。之后继续执行升级程序。


十三、 Table 'xxx' already exists
翻译:数据表xxx已经存在
分析:xxx表已经存在于库中,再次试图创建这个名字的表就会引发这个错误。同样多发生在论坛的升级中。类似于问题十二。
解决: 看看已经存在的表是否和将要创建的表完全一样,一样的话可以跳过不执行这个sql,否则请将存在的表先删除,之后继续执行升级文件。


十四、 Can't create database 'xxx'. Database exists
翻译:不能创建数据库xxx,数据库已经存在
分析:一个mysql下面的数据库名称必须保证唯一性,否则就会有这个错误。
解决:把已经存在的数据库改名或者把将要创建的数据库改名,总之不让他们的名称冲突。


十五、 小结(针对问题 11\12\13\14\15)
此类问题错误提示中都暗藏一个关键词duplicate(重复)
那么对于mysql数据库来说什么东西是不能重复的呢?
数据库 database
同一个数据库下数据表 table
同一个数据表下字段 column
同一个数据表下索引 key
同一个数据表在索引唯一(UNIQUE PRIMARY)的情况下记录中的这些字段不可以重复

十六、Unknown system variable 'NAMES'
翻译:未知的系统变量NAMES
分析:Mysql版本不支持字符集设定,此时强行设定字符集就会出现这个错误。
解决: 将sql语句中的SET NAMES ‘xxx’ 语句去掉

十七、 Lost connection to MySQL server during query
翻译:MySQL服务器失去连接在查询期间
分析:远程连接数据库是有时会有这个问题。MySQL服务器在执行一条sql语句的时候失去了连接造成的。
解决: 一般不需要怎么去处理,如果频繁的出现那么考虑改善硬件环境。


十八、User 'red' has exceeded the 'max_updates' resource (current value: 500)
翻译:msql用户red已经超过了'max_updates'(最大更新次数),'max_questions'(最大查询次数),'max_connections'(最大连接数),当前设定为500
分析:在mysql数据库的下有一个库为mysql,它其中有一个表为user这里面的纪录每一条都对应为一个mysql用户的授权。其中字段max_questions max_updates max_connections分别记录着最大查询次数 最大更新数 最大连接数,当目前的任何一个参数大于任何一个设定的值就会产生这个错误。
解决: 独立主机用户可以直接修改授权表。修改完之后重启mysql或者跟新授权表,进入mysql提示符下执行
      FLUSH PRIVILEGES;
     记得后面要有分号’;’
      虚拟主机的用户如果总是出现这个问题可找空间商协商解决。


十九、链接过多,请联系空间商
翻译:达到最大连接数
分析:连接数超过了mysql设置的值 max_connections 和wait_timeout 都有关系。wait_timeout的值越大,连接的空闲等待就越长,这样就会造成当前连接数越大。
解决: 修改my.ini的max_connections 和wait_timeout 前者调大后者调小一些。


[此帖于 2007-12-01 13:25 ruinjoy 编辑]

【广告】有疑问?立即访问 在线帮助中心

嘎嘎
资料 消息
 回复 评分 引用  批量引用    #7 2006-10-19 00:48

阿冰 
辛苦了

MEYU 美国VPS 「512M 80元/月」

资料 消息
 回复 评分 引用  批量引用    #8 2006-11-06 23:49

hunkerchen 
装不了啊!
我在www.51.net申请的B型虚机,可创建超级用户后,打开那些页面变成下载了。
http://www.x-90.com我的网站

=================================
你的虚拟空间不支持PHP吧.

[此帖于 2006-11-09 18:22 ruinjoy 编辑]

【广告】有疑问?立即访问 在线帮助中心
资料 消息
 回复 评分 引用  批量引用    #9 2006-11-08 11:23

买空间网 
下面引用由hunkerchen2006-11-08 11:23 发表的内容: 
我在www.51.net申请的B型虚机,可创建超级用户后,打开那些页面变成下载了。
http://www.x-90.com我的网站

================================= .......

大多数空间商的虚拟主机都是支持PHP的

[开发组倾力编写的说明文档,不可不看]

[size=4]1100M=200元/年限量销售中,完美支持bmforum  咨询QQ:546708858 , 免费安装调试/转换论坛  www.maikongjian.com,三线空间热销中,电信网通铁通3条线路同时接入..[/size]
资料 消息
 回复 评分 引用  批量引用    #10 2006-12-07 13:58

论坛跳转:



Powered by BMForum 返回主页 Powered by BMForum Myna 7.0 [Licenced] RSS Feed  
Processed in 0.02008199 second(s),7 queries