MySQL+VBB问题:Link-ID == false, connect failed

类别:编程语言 点击:0 评论:0 推荐:
VBB论坛经常出现这个错误:
> 数据库错误出现于 vBulletin :
> Link-ID == false, connect failed
> mysql 错误:
> mysql 错误号: 0

后来在 google 搜了一把,在VBB官方论坛找到这个帖子:http://www.vbulletin.com/forum/showthread.php?t=41678
才知道原来是mysql连接数的问题。该贴中说道:

Link-ID == false, connect failed or 'Too many connections" If you keep getting these errors:

Quote: Database error in vBulletin :

Link-ID == false, connect failed
mysql error:

mysql error number: or:
Quote: Too many connections It means that the MySQL server has exceeded it's maximum allowable database connections or is not available for some reason. In this case you can try turning off 'persistant connections' in your config.php file to see if that helps:

PHP Code: // use persistant connections to the database
// 0 = don't use
// 1 = use
$usepconnect = 0;
If you still get these errors after making this change, then you'll need to ask your host to increase the amount of MySQL connections they allow or to check the status of the MySQL server.


要知道自己的mysql设置,可以 root 登录到mysql ,执行命令:
> show status; 查看当前状态
> show variables ; 查看当前 mysql 参数设置情况

检查 mysql 的参数: max_connections 默认是100的,需要更改这个参数。
网上很多帖子建议把它设置到最大:32000
实际 mysql 允许的最大连接数只去到 16384

修改这个参数有两种办法:
1。修改 my.cnf 文件(或者 my.ini)
------------------------------------------------
[mysqld]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
#datadir         = /usr/local/mysql/data
 
skip-locking
key_buffer = 256M
max_allowed_packet = 1M
table_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache = 8
query_cache_size= 16M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8

# Added by DannyKang 20050109
max_connections = 32000
------------------------------------

加入红色字的那句:max_connections = 32000
跟着重启mysql :
$ /sbin/service mysql restart

然后再次以 root 身份登录进 mysql ,输入命令 show variables 检查 max_connections 参数是否已经生效。


2。修改 safe-mysqld 的启动参数
这个办法,我没有测试过。


本文地址:http://com.8s8s.com/it/it23697.htm