“使用链接表的额外特性尚未激活”修正办法!本文来自 ChinaUnix。

  在使用了新的 phpmyadmin (2.6.0-beta*或者更高版本) 来管理mysql后,每打开一个库的时候,会看到这么一句:

错误
使用链接表的额外特性尚未激活。要查出原因,请单击此处。

单击了所谓的此处后,会跳到一个页面显示:

PMA Database ... 不好[ 文档 ]
一般关系特性 已禁用



Starting with version 2.3.0 phpMyAdmin offers a lot of features to work with master / foreign - tables. To use those as well as the bookmark feature you need special tables with a predefined structure, which we explain below.

See the Quick Install section in this document for a quick way of creating those tables. Also, if you are using a Windows server, read FAQ 1.23.

If you are the only user of this phpMyAdmin installation, you can use your current database to store those special tables; in this case, just put your current database name in $cfg['Servers'][$i]['pmadb'].

If you are setting up a multi-user phpMyAdmin installation, you will need to create a new database and setup special privileges, so, as superuser:



create a new database for phpMyAdmin:
CREATE DATABASE phpmyadmin;
Note that "controluser" must have SELECT, INSERT, UPDATE and DELETE privileges on this database. Here is a query to set up those privileges (using "phpmyadmin" as the database name, and "pma" as the controluser):
GRANT SELECT,INSERT,UPDATE,DELETE ON phpmyadmin.* to 'pma'@'localhost';
do not give any other user rights on this database.
enter the database name in $cfg['Servers'][$i]['pmadb']


先建立一个名为phpmyadmin的数据库

然后把目录下scripts/create_tables.sql导入到这个库 mysqldir/bin/mysql -u root -p /phpadmin_dir/scripts/create_tables.sql
打开 config.inc.php 配置文件.
$cfg['Servers'][$i]['pmadb'] = ''; // 'phpmyadmin' - see scripts/create_tables.sql
$cfg['Servers'][$i]['bookmarktable'] = ''; // 'pma_bookmark'
$cfg['Servers'][$i]['relation'] = ''; // 'pma_relation'
$cfg['Servers'][$i]['table_info'] = ''; // 'pma_table_info'
$cfg['Servers'][$i]['table_coords'] = ''; // 'pma_table_coords'
$cfg['Servers'][$i]['pdf_pages'] = ''; // 'pma_pdf_pages'
$cfg['Servers'][$i]['column_info'] = ''; // 'pma_column_info'
$cfg['Servers'][$i]['history'] = ''; // 'pma_history'


修改为:
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; // 'phpmyadmin' - see scripts/create_tables.sql
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; // 'pma_bookmark'
$cfg['Servers'][$i]['relation'] = 'pma_relation'; // 'pma_relation'
$cfg['Servers'][$i]['table_info'] = 'pma_table_info'; // 'pma_table_info'
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords'; // 'pma_table_coords'
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; // 'pma_pdf_pages'
$cfg['Servers'][$i]['column_info'] = 'pma_column_info'; // 'pma_column_info'
$cfg['Servers'][$i]['history'] = 'pma_history'; // 'pma_history'


保存后刷新页面就好了。
相关的值项在
HKLMSYSTEMCurrentControlSetServiceTcpipParameters下。
1) DWORD:SynAttackProtect:定义了是否允许SYN淹没攻击保护,值1表示允许起用WIN2000的SYN淹没攻击保护。
2) DWORD:TcpMaxConnectResponseRetransmissions:定义了对于连接请求回应包的重发次数。值为1,则SYN淹没攻击不会有效果,但是这样会造成连接请求失败几率的增高。SYN淹没攻击保护只有在该值>=2时才会被启用,默认值为3。
(上边两个值定义是否允许SYN淹没攻击保护,下面三个则定义了激活SYN淹没攻击保护的条件,满足其中之一,则系统自动激活SYN淹没攻击保护。)
3) DWORD:TcpMaxHalfOpen:定义能够处于SYN_RECEIVED状态的TCP连接的数目。默认值100。
4) TcpMaxHalfOpenRetried:定义在重新发送连接请求后,仍然处于SYN_RECEIVED状态的TCP连接的数目。默认值80。
5) TcpMaxPortsExhausted:定义系统拒绝连接请求的次数。默认值5。
减小syn-ack包的响应时间。
HKLMSYSTEMCurrentControlSetServicesTcpipParametersTcpMaxConnectResponseRetransmissions定义了重发SYN-ACK包的次数。
增大NETBT的连接块增加幅度和最大数器。NETBT使用139端口。
HKLMSYSTEMCurrentControlSetServicesNetBtParametersBacklogIncrement默认值为3,最大20,最小1。
HKLMSYSTEMCurrentControlSetServicesNetBtParametersMaxConnBackLog默认值为1000,最大可取40000。
动态配置Backlog。
相关的值项在HKLMSYSTEMCurrentControlSetServiceAFDParameters下
1) DWORD:EnableDynamicBacklog:定义是否允许动态Backlog,默认为0,1为允许。
2) DWORD:MinimumDynamicBacklog:定义动态Backlog分配的未使用的自由连接的最小数目。默认值为0,建议设为20。
3) DWORD:MaximumDynamicBacklog:定义最大“准”连接数目。大小取决于内存的大小,一般每32M最大可以增加5000个。
4) DWORD:DynamicBacklogGrowthDelta:定义每次增加的自由连接数目,建议设置为10。
10)、预防DoS:
在注册表HKLMSYSTEMCurrentControlSetServicesTcpipParameters中更改以下值可以防御一定强度的DoS攻击
SynAttackProtect REG_DWORD 2
EnablePMTUDiscovery REG_DWORD 0
NoNameReleaseOnDemand REG_DWORD 1
EnableDeadGWDetect REG_DWORD 0
KeepAliveTime REG_DWORD 300,000
PerformRouterDiscovery REG_DWORD 0
EnableICMPRedirects REG_DWORD 0
11)、防止ICMP重定向报文的攻击
HKLMSYSTEMCurrentControlSetServicesTcpipParametersEnableICMPRedirects REG_DWORD 0x0(默认值为0x1)
该参数控制Windows 2000是否会改变其路由表以响应网络设备(如路由器)发送给它的ICMP重定向消息,有时会被利用来干坏事。Win2000中默认值为1,表示响应ICMP重定向报文。
12)、禁止响应ICMP路由通告报文
HKLMSYSTEMCurrentControlSetServicesTcpipParametersInterfacesinterfacePerformRouterDiscovery REG_DWORD 0x0(默认值为0x2)
“ICMP路由公告”功能可造成他人计算机的网络连接异常,数据被窃听,计算机被用于流量攻击等严重后果。此问题曾导致校园网某些局域网大面积,长时间的网络异常。建议关闭响应ICMP路由通告报文.Win2000中默认值为2,表示当DHCP发送路由器发现选项时启用。
13)、设置生存时间
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersDefaultTTL REG_DWORD 0-0xff(0-255 十进制,默认值128)
指定传出IP数据包中设置的默认生存时间(TTL)值。TTL决定了IP数据包在到达目标前在网络中生存的最大时间。它实际上限定了IP数据包在丢弃前允许通过的路由器数量.有时利用此数值来探测远程主机*作系统。
14)、不支持IGMP协议
HKLMSYSTEMCurrentControlSetServicesTcpipParametersIGMPLevel REG_DWORD 0x0(默认值为0x2)
记得Win9x下有个bug,就是用可以用IGMP使别人蓝屏,修改注册表可以修正这个bug。Win2000虽然没这个bug了,但IGMP并不是必要的,因此照样可以去掉。改成0后用route print将看不到那个讨厌的224.0.0.0项了。
15)、设置arp缓存老化时间设置
HKLMSYSTEMCurrentControlSetServices:TcpipParameters
ArpCacheLife REG_DWORD 0-0xFFFFFFFF(秒数,默认值为120秒)
ArpCacheMinReferencedLife REG_DWORD 0-0xFFFFFFFF(秒数,默认值为600)
如果ArpCacheLife大于或等于ArpCacheMinReferencedLife,则引用或未引用的ARP缓存项在ArpCacheLife秒后到期。如果ArpCacheLife小于ArpCacheMinReferencedLife,未引用项在ArpCacheLife秒后到期,而引用项在ArpCacheMinReferencedLife秒后到期。每次将出站数据包发送到项的IP地址时,就会引用ARP缓存中的项。
特征:服务器正常CPU消耗应该在75%以下,而且CPU消耗应该是上下起伏的,出现这种问题的服务器,CPU会突然一直处100%的水平,而且不会下降。查看任务管理器,可以发现是DLLHOST.EXE消耗了所有的CPU空闲时间,管理员在这种情况下,只好重新启动IIS服务,奇怪的是,重新启动IIS服务后一切正常,但可能过了一段时间后,问题又再次出现了。

直接原因:
有一个或多个ACCESS数据库在多次读写过程中损坏,微软的MDAC系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其他线程只能等待,IIS被死锁了,全部的CPU时间都消耗在DLLHOST中。

解决办法:
最简单的办法是使用文件医生,自动查找并修复所有有问题的文件,请参考:
http://7i24.com/serverdoctor/filedoctor.htm


另一个办法是:
安装“一流信息监控拦截系统”,使用其中的“首席文件检查官IIS健康检查官”软件,
启用”查找死锁模块”,设置:
;--wblock=yes
;监控的目录,请指定您的主机的文件所在目录:
;--wblockdir=d:\test
监控生成的日志的文件保存位置在安装目录的log目录中,文件名为:logblock.htm

停止IIS,再启动“首席文件检查官IIS健康检查官”,再启动IIS,“首席文件检查官IIS健康检查官”会在logblock.htm中记录下最后写入的ACCESS文件的。

过了一段时间后,当问题出来时,例如CPU会再次一直处100%的水平,可以停止IIS,检查logblock.htm所记录的最后的十个文件,注意,最有问题的往往是计数器类的ACCESS文件,例如:”**COUNT.MDB”,”**COUNT.ASP”,可以先把最后十个文件或有所怀疑的文件删除到回收站中,再启动IIS,看看问题是否再次出现。我们相信,经过仔细的查找后,您肯定可以找到这个让您操心了一段时间的文件的。
找到这个文件后,可以删除它,或下载下来,用ACCESS2000修复它,问题就解决了!!!
分页: 460/470 第一页 上页 455 456 457 458 459 460 461 462 463 464 下页 最后页 [ 显示模式: 摘要 | 列表 ]