青春时代是一个短暂的美梦,当你醒来时,它早已消失得无影无踪了。
 
今日:0    总帖:358
admin
1441
相关资料:1.微软官方说明:http://msdn.microsoft.com/library/default.asp?url=/workshop/networking/pluggable/overview/appendix_a.asp2.Mozillazine:http://kb.mozillazine.org/Register_protocol最近开发程序需要实现一个类似于腾讯的 tencent://… 协议功能,即页面上或地址栏里的链接只要输入带有 tencent://… 的协议,就会自动调用一个已写好的程序执行该协议的操作。之前自己也没研究过这方面的东东,上网查了一下,找到一篇很不错的介绍:Register protocol,此文中对于 Windows、Linux 和 OS X 操作系统如何注册协议都有说明。比如说 Windows,其实只需写入注册表,即可实现协议与执行程序的关联。例如腾讯的协议注册表如下:[HKEY_CLASSES_ROOT/TENCENT] @=”TencentProtocol” “URL Protocol”=”D://Program Files//Tencent//QQ//Timwp.exe” [HKEY_CLASSES_ROOT/TENCENT/DefaultIcon] @=”D://Program Files//Tencent//QQ//Timwp.exe,1″ [HKEY_CLASSES_ROOT/TENCENT/shell] [HKEY_CLASSES_ROOT/TENCENT/shell/open] [HKEY_CLASSES_ROOT/TENCENT/shell/open/command] @=”/”D://Program Files//Tencent//QQ//Timwp.exe/” /”%1/”" 此注册表所实现的就是当浏览器(或其它)碰到 tencent://… 时,自动调用 Timwp.exe,并把 tencent://… 地址作为第一个参数传递给 Timwp.exe。
教程与文档 0 0 654天前
admin
6092
部分内容借用自:图文并茂解释OSPF邻居关系建立失败的几种常见情况(太实用了!) (360doc.com)(5条消息) 网络故障排查:OSPF故障排查_小小小糖果人的博客-CSDN博客_ospf路由inactive一、故障排查=============================================================================1、检查OSPF邻居状态     1.1首先查看两端OSPF邻居状态是否正常,正常情况下DRother之间的邻居关系应该稳定在2-way状态,非DRother之间的邻居关系应该稳定在Full状态。<Huawei> display ospf 1 peer brief OSPF Process 1 with Router ID 1.1.1.1 Peer Statistic Information ------------------------------------------------------------------- Area Id Interface Neighbor id State 0.0.0.0 GigabitEthernet1/0/0 3.3.3.3 Full ------------------------------------------------------------------- Total Peer(s): 1    1.2 确认OSPF及邻居两端OSPF参数匹配          1.2.1 确认接口启动了OSPF<Huawei> display ospf interface OSPF Process 1 with Router ID 192.168.1.1 Interfaces Area: 0.0.0.0 (MPLS TE not enabled) IP Address Type State Cost Pri DR BDR 192.168.1.2 Broadcast DR 1 1 192.168.1.2 192.168.1.3 Area: 0.0.0.1 (MPLS TE not enabled) IP Address Type State Cost Pri DR BDR 172.16.0.1 Broadcast DR 1 1 172.16.0.1 172.16.0.2          1.2.2 确认邻居两端OSPF参数相匹配                  1.2.2.1 OSPF区域是否匹配                  1.2.2.2 OSPF区域认证是否匹配                  1.2.2.3 两端OSPF接口上计时器设定值是否匹配                  1.2.2.4 两端OSPF接口类型是否匹配                  1.2.2.5 广播网络中两端接口子网掩码是否相同                  1.2.2.6 NBMA网络是否指定邻居    1.3 确认邻接关系的两端接口没有设置为静默端口,当设置为静默端口,它将不能发送OSPF Hello报文,因此OSPF邻居关系无法形成。<Huawei>display current-configuration configuration ospf ospf 1 silent-interface GigabitEthernet 1/0/1 area 0.0.0.0s network 10.10.1.0 0.0.0.255 network 10.10.4.0 0.0.0.255 area 0.0.0.1 network 10.10.2.0 0.0.0.255    1.4 查看OSPF路由表是否存在相应路由<Huawei> display ospf routing OSPF Process 1 with Router ID 10.2.2.9 Routing Tables Routing for Network Destination Cost Type NextHop AdvRouter Area 10.12.12.0/24 1 Transit 10.12.12.10 10.2.2.9 0.0.0.1 10.13.13.0/24 1 Stub 10.13.13.1 10.2.2.9 0.0.0.0 10.11.11.0/24 2 Transit 10.12.12.11 10.0.0.1 0.0.0.1 Routing for ASEs Destination Cost Type Tag NextHop AdvRouter 10.0.0.0/8 1 Type2 1 10.12.12.11 10.0.0.1 Total Nets: 4 Intra Area: 3 Inter Area: 0 ASE: 1 NSSA: 0    1.5 查看OSPF路由表未发现响应路由信息,请首先确认路由信息是否在OSPF中正确发布,对于未进行发布的路由请修改配置将路由正确发布。<Huawei>display current-configuration configuration ospf ospf 1 area 0.0.0.0s network 10.10.1.0 0.0.0.255 network 10.10.4.0 0.0.0.255 area 0.0.0.1 network 10.10.2.0 0.0.0.255    1.6 确认OSPF LSDB数据库中是否存在路由计算所需的正确LSA信息。          1.6.1 区域内的LSDB有: router lsa ,network lsa (广播网络)显示OSPF链路状态数据库中Router LSA的相关信息。<HUAWEI> display ospf lsdb router OSPF Process 1 with Router ID 1.1.1.1 Area: 0.0.0.0 Link State Database Type : Router Ls id : 2.2.2.2 Adv rtr : 2.2.2.2 Ls age : 52 Len : 48 Options : E seq# : 80000006 chksum : 0xbf5a Link count: 2 Link ID: 1.2.1.2 Data : 1.2.1.2 Link Type: TransNet Metric : 1 Link ID: 2.2.2.2 Data : 255.255.255.255 Link Type: StubNet Metric : 0 Priority : Medium # 显示OSPF链路状态数据库中Network LSA的相关信息。 <HUAWEI> display ospf 1 lsdb network 1.1.1.1 OSPF Process 1 with Router ID 1.1.1.1 Area: 0.0.0.0 Link State Database Type : Network Ls id : 10.1.1.1 Adv rtr : 1.1.1.1 Ls age : 167 Len : 32 Options : E seq# : 80000002 chksum : 0x3408 Net mask : 255.255.255.0 Attached Router 2.2.2.2 Attached Router 1.1.1.1            1.6.2 区域间的LSDB有: Summary lsa , adv Rtr的Router LSA# 显示OSPF链路状态数据库中Network Summary LSA的相关信息。 <HUAWEI> display ospf 1 lsdb summary 10.2.1.0 OSPF Process 1 with Router ID 1.1.1.1 Area: 0.0.0.0 Link State Database Type : Sum-Net Ls id : 10.2.1.0 Adv rtr : 2.2.2.2 Ls age : 419 Len : 28 Options : E seq# : 80000001 chksum : 0x1d21 Net mask : 255.255.255.0 Tos 0 metric: 1 Priority : Medium          1.6.3 区域外的LSDB有: ASE LSA,adv Rtr的Router LSA# 显示OSPF链路状态数据库中ASBR Summary LSA的相关信息。 <HUAWEI> display ospf 1 lsdb asbr 2.2.2.2 OSPF Process 1 with Router ID 1.1.1.1 Area: 0.0.0.2 Link State Database Type : Sum-Asbr Ls id : 2.2.2.2 Adv rtr : 1.1.1.1 Ls age : 90 Len : 28 Options : E seq# : 80000001 chksum : 0xec62 Tos 0 metric: 1 显示OSPF链路状态数据库中AS-external LSA的相关信息。 <HUAWEI> display ospf 100 lsdb ase 10.10.1.0 OSPF Process 1 with Router ID 1.1.1.1 Link State Database Type : External Ls id : 10.10.1.0 Adv rtr : 2.2.2.2 Ls age : 569 Len : 36 Options : E seq# : 80000002 chksum : 0x90d0 Net mask : 255.255.255.0 TOS 0 Metric: 1 E type : 2 Forwarding Address : 0.0.0.0 Tag : 1 Priority : Medium          1.6.4 外部路由通过区域间学习的LSDB有: ASE LSA, ADV Router Asbr Sumarry LSA# 显示OSPF链路状态数据库中NSSA External LSA的相关信息。 <HUAWEI> display ospf 1 lsdb nssa 10.10.1.0 OSPF Process 1 with Router ID 1.1.1.1 Area: 0.0.0.1 Link State Database Type : NSSA Ls id : 10.10.1.0 Adv rtr : 2.2.2.2 Ls age : 521 Len : 36 Options : None seq# : 80000005 chksum : 0x9ea7 Net mask : 255.255.255.0 TOS 0 Metric: 1 E type : 2 Forwarding Address : 10.2.1.2 Tag : 1 Priority : Medium    1.7 导致OSPF数据库中LSA异常或者缺失的原因主要包括如下几种情况,需要从相关的配置或规划角度进行修正。          1.7.1 骨干区域被分割,导致LSA缺失          1.7.2  虚连接配置错误,导致LSA缺失          1.7.3   Router ID冲突,导致LSA震荡    1.8 外部路由携带FA地址确认FA路由为有效路由,ospf必须能够通过区域内或区域间路由到达该FA地址,否则该该外部地址不会加入OSPF路由表。<HUAWEI> display ospf 100 lsdb ase 10.10.1.0 OSPF Process 1 with Router ID 1.1.1.1 Link State Database Type : External Ls id : 10.10.1.0 Adv rtr : 2.2.2.2 Ls age : 569 Len : 36 Options : E seq# : 80000002 chksum : 0x90d0 Net mask : 255.255.255.0 TOS 0 Metric: 1 E type : 2 Forwarding Address : 0.0.0.0 Tag : 1 Priority : Medium <HUAWEI> display ospf routing OSPF Process 1 with Router ID 4.4.4.4 Routing Tables Routing for Network Destination Cost Type NextHop AdvRouter Area 172.16.1.0/24 4 Inter-area 192.168.2.1 2.2.2.2 0.0.0.2 172.17.1.0/24 1 Transit 172.17.1.1 4.4.4.4 0.0.0.2 192.168.0.0/24 2 Inter-area 192.168.2.1 2.2.2.2 0.0.0.2 192.168.1.0/24 3 Inter-area 192.168.2.1 2.2.2.2 0.0.0.2 192.168.2.0/24 1 Stub 192.168.2.2 4.4.4.4 0.0.0.2 Routing for ASEs Destination Cost Type Tag NextHop AdvRouter 10.0.0.0/8 1 Type2 1 192.168.2.1 1.1.1.1 Total Nets: 6 Intra Area: 2 Inter Area: 3 ASE: 1 NSSA: 0    1.9 查看OSPF路由是否加入全局路由表,只有加入到全局路由表的路由才能指导数据包的转发,并需要确保该路由为最优路由。<HUAWEI> display ip routing-table 1.1.1.1 32 verbose Route Flags: R - relay, D - download to fib --------------------------------------------------------------- Routing Table : Public Summary Count : 1 Destination: 1.1.1.1/32 Protocol: Static Process ID: 0 Preference: 60 Cost: 0 NextHop: 2.2.2.2 Neighbour: 0.0.0.0 State: Active Adv GotQ Age: 02h17m46s Tag: 0 Priority: 0 Label: NULL QoSInfo: 0x0 RelayNextHop: 192.168.12.1 Interface: Ethernet0/2/0 TunnelID: 0x0 Flags: RD BkNextHop: 24.24.24.241 BkInterface: GigabitEthernet6/0/2Routing Table: 该路由所在的实例名,“Public”特指公网实例 Summary Count:命令行中前缀的路由的条数 Destination:路由的目的地址以及掩码长度 Protocol:路由协议名称 Process ID:路由所在的进程ID Preference:路由协议的优先级 Cost:路由开销 NextHop:路由的下一跳。对于需要迭代的路由,这是原始下一跳。 Neighbour:邻居 State:路由的状态。包括如下几种: Active:活跃的路由 Invalid:无效的路由 Inactive:非活跃的路由 NoAdv:不允许发布的路由 Adv:可以发布的路由 Del:即将被删除的路由 GotQ:迭代成功的路由 WaitQ:尚未迭代成功的路由 Stale:带Stale标记的路由,在GR中使用 Age:路由生成后的持续时间 Tag:路由标识 Label:MPLS分配的标签 QosInfo:Qos信息 RelayNextHop:迭代下一跳 Interface:出接口 TunnelID:隧道ID Flags:路由标记。包括: R:表示该路由是迭代路由 D:表示该路由成功下发到FIB表 BkNextHop:备份下一跳 BkInterface:备份出接口 二、OSPF邻居关系建立失败的几种常见情况=============================================================================这里以此拓扑图为基础,来演示几种常见OSPF邻居建立不起来的情况,物理层面的不在此范围内,比如光衰问题,网线老化等。1接口未宣告到OSPF进程R1关键配置如下:#interface GigabitEthernet0/0/0 ip address 12.1.1.1 255.255.255.0 #ospf 1  area 0.0.0.1   network 1.1.1.1 0.0.0.0   network 12.1.1.1 0.0.0.0 #return[R1-ospf-1]R2关键配置如下:#interface GigabitEthernet0/0/0 ip address 12.1.1.2 255.255.255.0 ##ospf 1  area 0.0.0.0   network 2.2.2.2 0.0.0.0   network 24.1.1.2 0.0.0.0  area 0.0.0.1   network 12.1.1.2 0.0.0.0  area 0.0.0.2   network 23.1.1.2 0.0.0.0 #现象:R1的OSPF邻居表为空。原因:大家回顾一下,我们学OSPF时,有提到报文类型,是不是有个Hello包,那回顾一下,Hello是干嘛用的?  不管你学到什么P,什么E,不管你是不是大神级别,初心一定不能忘!忘了就没法玩了。Hello是用于建立和维护邻接关系。 本实例中,R2没有把G0/0/0的接口IP宣告到OSPF进程中的区域中,那么意思就是该接口也没有参与到OSPF进程,就不会去发Hello包。R2的G0/0/0不发hello包,R1就不会收到,没有收,怎么握手,怎么建立OSPF邻居呢 是吧~解决办法:R2的接口宣告到OSPF进程中的区域1下。检查:2接口虽然参与到OSPF进程了但被静默了R1关键配置不变,如上。R2关键配置如下:#interface GigabitEthernet0/0/0 ip address 12.1.1.2 255.255.255.0 ##ospf 1   silent-interface GigabitEthernet0/0/0 area 0.0.0.0   network 2.2.2.2 0.0.0.0   network 24.1.1.2 0.0.0.0  area 0.0.0.1   network 12.1.1.2 0.0.0.0  area 0.0.0.2   network 23.1.1.2 0.0.0.0 #现象:R1的OSPF邻接表为空,R2对应接口也宣告到OSPF进程了。原因:R2的OSPF进程下,使用了silent-interface命令用来禁止G0/0/0接口接收和发送OSPF报文。OSPF报文都不能发,更何况是Hello包了,所以邻居也就无法建立了。解决办法:删除silient-interface命令即可。检查:3广播网络中,OSPF进程反掩码写错了。  R1关键配置不变,如例1。R2关键配置如下:#interface GigabitEthernet0/0/0 ip address 12.1.1.2 255.255.255.0 ##ospf 1  area 0.0.0.0   network 2.2.2.2 0.0.0.0   network 24.1.1.2 0.0.0.0  area 0.0.0.1   network 12.1.0.0 0.0.0.255  area 0.0.0.2   network 23.1.1.2 0.0.0.0 #现象:R1的OSPF邻接表为空原因:OSPF进程area1宣告的网络掩码写错了,宣告OSPF时,反掩码的0表示精确匹配,255表示不检查。从配置可以看出,OSPF进程精确去查找,将这个12.1.0.x宣告到进程中,但是R2没有哪一个接口属于这个网段的,所以等同于G0/0/0没有宣告到OSPF进程中。解决办法:要么精确匹配,写4个0,即0.0.0.0,要么修改反掩码为0.0.255.255。检查:这时就有邻居了。4两端的hello间隔和dead间隔时间不匹配 R1关键配置不变,如例1。 R1的hello、dead间隔时间还是默认,没有修改:  R2关键配置如下,修改了G0/0/0的OSPF hello间隔时间。R1和R2两端的Hello间隔和dead间隔不一样,会收到如下日志:抓包查看:很明显可以看出两端的报文,hello和dead间隔时间不一致,两边设备收到对端hello报文,检查发现不一致,丢弃,于是邻居无法建立。我们也可以使用display ospf error 更加快速地定位出问题: 解决办法: R2的G0/0/0的Hello间隔改回默认,或者R1的G0/0/0 OSPF的Hello间隔也改为20秒。  检查:5区域ID不一致  R1关键配置不变,如例1。  R2关键配置如下:#ospf 1  area 0.0.0.0   network 2.2.2.2 0.0.0.0   network 12.1.1.2 0.0.0.0   network 24.1.1.2 0.0.0.0  area 0.0.0.2   network 23.1.1.2 0.0.0.0 #return[R2-ospf-1]现象也是:R1的OSPF邻居表为空。分析:排查错,有时候,如果你不知道该如何入手?建议可以从Hello报文格式来,根据报文格式,检查一下是不是哪些不匹配?现在我们再来抓包,看一下R1和R2的hello:R1的hello包如下:R2的Hello包如下:很明显可以看出,R1和R2的区域id字段不一致,R1在区域1,R2在区域0,两边区域ID不一致,双方收到对端hello包,发现不一致,握手失败,所以邻居也就无法建立了。当然,你也可以使用display ospf error来得快一些:解决办法:ospf 1  area 0.0.0.0   network 2.2.2.2 0.0.0.0   network 24.1.1.2 0.0.0.0  area 0.0.0.1   network 12.1.1.2 0.0.0.0  area 0.0.0.2   network 23.1.1.2 0.0.0.0 #检查:6认证类型活密码不一致 R1关键配置如下:interface GigabitEthernet0/0/0[R1-GigabitEthernet0/0/0]ospf authentication-mode simple along123  R2关键配置如下:[R2]int g0/0/0[R2-GigabitEthernet0/0/0]ospf authentication-mode simple along456现象:R1的OSPF 邻居列表为空,与R2OSPF邻居建立不起来。分析:抓包的话,由于是明文,很容易看出密码不一样:R1:R2:7广播网络中,接口IP掩码写错了  R1的接口IP如下:#interface GigabitEthernet0/0/0 ip address 12.1.1.1 255.255.255.0   R2的接口IP如下:#interface GigabitEthernet0/0/0 ip address 12.1.1.2 255.255.255.128 OSPF配置均没变化。现象:R1的OSPF邻居列表为空,建立失败。分析:从报文的字段去分析,广播网络中会检查掩码,发现不一致,就无法成功建立OSPF邻居,可以使用如下命令快速定位。解决办法:修改正确的掩码即可。8特殊区域类型不匹配,比如stub区域  R2的OSPF配置如下:#ospf 1  area 0.0.0.0   network 2.2.2.2 0.0.0.0   network 24.1.1.2 0.0.0.0  area 0.0.0.1   network 12.1.1.2 0.0.0.0  area 0.0.0.2   network 23.1.1.2 0.0.0.0   stub #return[R2-ospf-1]  R3的OSPF配置如下:#ospf 1  area 0.0.0.2   network 3.3.3.3 0.0.0.0   network 23.1.1.3 0.0.0.0 #return[R3-ospf-1]现象:R2和R3无法建立OSPF邻居关系。分析:可知,Hello包里面的option字段不匹配,应该是一边可以支持外部路由,一边不支持外部路由。咱们,也可以抓个包看看,到底什么情况呢?再看看R3,到这来,你应该知道配特殊区域,是需要两端都要配了吧。解决办法:将R3也配置为stub[R3-ospf-1]area 2[R3-ospf-1-area-0.0.0.2]stub [R3-ospf-1-area-0.0.0.2]验证:
教程与文档 0 0 654天前
admin
3448
原文链接:关于qBittorrent UI界面卡死的解决方法 - 知乎 (zhihu.com)最近给电脑安了一块无线网卡,然后开打qBittorrent的时候各种卡死。其实在此之前,qBittorrent的界面也出现过或多或少的卡顿,但是不会像最近一样如此卡顿。最开始以为是因为读写磁盘造成的卡顿,但是通过上网查阅,或许卡顿另有原因。打开“选项-高级”,在“网络接口”这一项,它的默认选项是“任意网络接口”,“绑定到的可选IP地址”默认是“所有地址”。这样在打开qBittorrent的时候,它是不知道哪个网卡是有网的,也不管你的电脑有没有IPv6。因此,它会默认使用这些接口。由于这些接口实际上是没有连接到Internet的,因此它收不到数据,阻塞了UI,所以UI就这么卡着,等到超时才恢复。为了解决这个问题,我们只需要将“网络接口”切换到有网络的网卡。对于没有IPv6的电脑,可以将IP地址选择“所有IPv4”地址。不知道2202年了是否还有人使用比特下载这一技术,但是还是希望给刚好遇到问题的人一个解决方案。qBittorrent是一款非常专业的比特下载软件,但是由于技术本身的原因,在异步这一方面似乎还不是很理想,所以才造成了这个问题。软件在安装之后就应该默认给用户一个良好的体验,而不是通过设置来达到这种效果。
教程与文档 0 0 664天前
admin
1774
最近闲来无事,看着手头边自己写的程序,突然来了灵感,想起装了360以后,针对于未知的文件后缀,双击运行总能弹出360自己的窗口(如图),遂研究其如何实现,经过查找多方资料,总算 弄明白了到底怎么去实现的 修改前 其实Windows对于未知文件后缀的处理程序都在注册表中的Hkey_Classes_Root\Unknown子项下,也就是说如果我们想要修改Windows系统在我们双击未知文件后缀名的时候打开的程序,只需要修改注册表中的上述子项下的内容即可实现。修改完成后==============================================================================以下是关于修改的相关说明:1.不管是哪个版本的Windows系统,针对于未知文件后缀的打开方式均在Hkey_Classes_Root\Unknown下2.Win7及之前系统,只需要修改Hkey_Classes_Root\Unknown\shell\opendlg\command子项中的默认那一条即可3.Win8及之后的系统则有所不同,首先我们在Hkey_Classes_Root\Unknown\shell\可以看到已经没有opendlg这个子项了,那么我们要怎么去修改呢,其实很简单,只要按照下述步骤,即可成功 1).在shell子项下,我们首先新建一个子项,名称可以自定义,然后在新建的子项下再建立一个command的子项,然后修改右侧的(默认)为我们自己的程序路径 (请注意,如果通过编程来创建,则创建后默认的类型必须为REG_EXPAND_SZ,否则无法生效;如果是手工创建,则可以通过导出例如openas子项下的command,然后修改子项名称来实现 ) 完成后如上图 2).修改shell子项中的(默认)为你当前所创建的子项名称 修改前 修改后 3).现在再双击那些未知后缀的文件,看下是不是就能打开你自己的程序了4.各个系统原始的参数信息Win7及之前系统:%SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\shell32.dll,OpenAs_RunDLL %1 Win8及之后系统:%SystemRoot%\system32\OpenWith.exe -override "%1" 如果使用上述方法修改 Win7只需要将上述内容替换回去即可 Win8及之后系统则一般不需要替换上述内容,只需要将Hkey_Classes_Root\Unknown\shell子项中的(默认)值修改回openas即可
教程与文档 0 0 673天前
admin
1368
找到*.vmx文件,将以下内容加入进去isolation.tools.getPtrLocation.disable = "TRUE" isolation.tools.setPtrLocation.disable = "TRUE" isolation.tools.setVersion.disable = "TRUE" isolation.tools.getVersion.disable = "TRUE" monitor_control.disable_directexec = "TRUE" monitor_control.disable_chksimd = "TRUE" monitor_control.disable_ntreloc = "TRUE" monitor_control.disable_selfmod = "TRUE" monitor_control.disable_reloc = "TRUE" monitor_control.disable_btinout = "TRUE" monitor_control.disable_btmemspace = "TRUE" monitor_control.disable_btpriv = "TRUE" monitor_control.disable_btseg = "TRUE" monitor_control.restrict_backdoor = "TRUE" 可有可无 disable_acceleration = "TRUE" 
教程与文档 0 0 677天前
admin
1625
转自:利用WSUS部署更新程序 - 王哥哥哥哥 - 博客园 (cnblogs.com)WSUS概述为了让用户的windows系统与其他microsoft产品能够更安全,更稳定,因此microsoft会不定期在网站上推出最新的更新程序供用户下载与安装,而用户可以通过以下方式来取得这些程序:手动连接microsoft update网站通过windows系统的自动更新功能然而以上两种方式对企业内部来说,都可能会有以下缺点。影响网络效率:如果企业内部每台计算机都自行上网更新,将会增加对外网络的负担。与现有软件相互干扰:如果企业内部使用的软件与更新程序发生冲突,则用户自行下载与安装更新程序可能会影响该软件或更新程序的正常运行。WSUS是一个可以解决上述问题的产品,企业内部可以通过WSUS服务器集中从Microsoft update网站下载更新程序,并且在完成这些更新程序的测试工作,确定对企业内部计算机没有不良影响后,在通过网管审批程序,将程序部署到客户机上。WSUS的系统需求对于基本WSUS架构来说,WSUS服务器与客户端计算机都必须满足适当的条件才能享受WSUS的好处。可以在windows server 2012内通过新增角色的方式来安装WSUS。安装WSUS之前,需要安装以下组件。Microsoft Report Viewer Redistributable 2008:WSUS服务器需要通过他制作各种不同的报告,例如更新程序状态报告,客户端计算机状态报告与同步处理结果报告等。需要到microsoft 官网下载。Net framework 2.0: report viewer需要net framework。注:WSUS服务器的系统分区与安装WSUS的磁盘分区的文件系统都必须是NTFS。WSUS客户端计算机必须支持自动更新功能,Windows 2000 sp4以后的客户端都支持。可以利用WSUS服务器内置的WSUS管理控制台执行WSUS服务器的管理工作,还可以在其他计算机上管理WSUS服务器。不过,需要在这些计算机上安装WSUS控制台,但是这些计算机必须已安装下列组件:Microsoft .NET Framework 2.0或更新版本Microsoft Management Console 3.0或更新版本Micrsoft Report Viewer Redistributable 2008或更新版本WSUS的特性与工作方式利用计算机组部署更新程序如果能够将企业内部客户端计算机适当分组,就可以更容易与明确地将更新程序部署到指定计算机上。系统默认内置2个计算机组,即所有计算机与未分配的计算机,客户端计算机在第一次与WSUS服务器接触时,系统默认会见该计算机加入者2个组内。可以在添加更多的组。可以创建测试计算机组,新的补丁部署到测试计算机组,没有问题在应用到业务计算机组内。WSUS服务器的架构也可以创建更复杂的WSUS服务器架构,也就是创建多台WSUS服务器,并设置让其中一台WSUS服务器从microsoft 网站获取更新程序,但是其他服务器并不直接连接Microsoft网站,而是从上游的组服务器来获取程序,而下游服务器从上游服务器获得更新程序。这种将WSUS服务器通过上下游方式串接在一起的模式有两种"自治模式:上游WSUS服务器会与下游服务器共享更新程序,也就是下游服务器会从上游服务器获取更新程序,但是并不包含更新程序的审批状态,计算机组信息。因此下游服务器必须自行决定是否要审批这些更新程序与自行创建所需的计算机组。副本模式:上游服务器会与下游服务器共享更新程序,更新审批与计算机组信息。下游服务器可以获取上游服务器的数据,所有可以在上游服务器管理的项目都无法在下游服务器自行管理,例如不能自行更改新程序的审批状态等。注意,上述计算机组信息只有计算机组本身而已,并且不包含计算机组的成员,必须自行在下游服务器来管理组成员,而客户端计算机在第一次与下游WSUS服务器接触时,这些计算机会默认被同时加入到所有计算机和未分配计算机组内。可以根据公司网络环境的需求采用上下游WSUS服务器的串接方式。采用上下游WSUS服务器串接架构,还需要考虑到不同语言的更新,例如,如果上游服务器在总部,总部需要简体中文的程序,而下游架设在分公司,分公司需要的语言是英文,虽然总公司需要的语言是简体中文,当必须在中公司的上游服务器选择同事下载中文和英文版的更新程序。连接Microsoft网站的上游服务器必须下载所有下游服务器需要的所有语言的更新程序,否则下游服务器将无法获取所需语言的更新程序。注:这种上下游串联的方式,建议最好不要超过3层(虽然理论上没有层数限制),因为每增加一层,就会增加延迟时间,因而拉长将更新程序传递到每台计算机的时间。选择数据库与存储更新程序的地点可以利用Windows Server 2012的内置数据库或Microsoft SQL Server 2005 sp2来构建数据库。每台WSUS服务器都有自己独立的数据库,这些数据库用来存储以下信息:WSUS服务器的设置信息。描述每一个更新程序的metadata。Metada内包含以下数据:更新程序的属性:例如更新程序的名称,描述,相关的knowledge base文章编号等。适用规则:用来判断更新程序是否适用于某台计算机。安装信息:例如安装时所需的命令行参数。客户端计算机与更新程序之间的关系。然而上述数据库并不会存储更新程序文件本身,必须另外选择更新程序文件的存储地点,有以下两种选择。存储在WSUS服务器的本地硬盘内:此时WSUS服务器会从Microsoft网站下载更新程序,并将其存储到本地硬盘内。此种方式让客户端直接从WSUS服务器获取更新程序,不用到Microsoft网站下载,这样可以节省网络带宽。WSUS服务器的硬盘必须有足够空间来存储更新程序文件,最少要有20g的可用空间。实际需要更多的空间。存储在Microsoft网站上:此时WSUS服务器并不会从Microsoft网站下载更新程序,换句话说,当执行WSUS服务器与Microsoft网站之间的同步工作时,WSUS服务器只会从网站下载更新程度的metadata数据,并不会下载更新程序本身。因此,当你审批客户端可以安装某个更新程序后,客户端是自己连接到网站下载。如果客户端计算机数量不多,或客户端与WSUS服务器之间的连接速度比较慢,但是与网络之间的连接速度较快时,可以选择此选项。延期下载更新程序WSUS允许你延期下载更新程序文件,也就是WSUS服务器会先下载更新程序的metadata,之后再下载更新程序文件。更新程序文件只有在你审批该程序后才会被下载,这种方式可以节省带宽与WSUS服务器的硬盘空间使用量。Microsoft建议你采用延迟下载更新的方式,也就是默认值。使用快速安装文件客户端计算机要安装更新程序时,此计算机内可能已经有该更新文件的旧版本,这个旧文件和新更新之间的差异可能不大。如果客户端能够只下载新版与旧版之间的差异,然后利用将差异合并到旧文件的方式来更新,可以减少从wsus服务器下载的数据量,降低企业内部网络的负担。不过采用这种方式,WSUS服务器从Microsoft网站下载的文件会比较大,因为此文件内必须包含新更新程序和各旧版自己的差异,因此WSUS服务器在下载文件时会占用对外的网络带宽。例如,假如更新程序原始大小100mb,未使用快速安装的情况,此服务器会从microsoft网站下载100mb的文件,客户端也是从服务器下载100mb的数据量。使用快速安装的情况下,此文件变为比较大的200mb(假设)。虽然WSUS服务器必须从microsoft下载的文件大小为200mb,但是客户端从WSUS服务器仅下载30mb的数据量,系统默认未使用快速安装文件。安装WSUS服务器构建WSUS并不需要AD域环境,然而为了利用组策略来充分管理客户端的自动更新设置,建议采用AD域环境。我们将利用下图所示的环境进行说明。安装一台域控DC,WSUS服务器为成员服务器,计算机名为WSUS;另外,图中多台客户端可以为win7,win8等,我们假设他们也都加入域。直接安装report viewer 2012 最新版和clr typer for sql 2012http://www.microsoft.com/zh-cn/download/details.aspx?id=35747http://go.microsoft.com/fwlink/?LinkID=239644&clcid=0x409添加功能需要net framework选择数据库。使用内置数据库,如果要使用SQL数据库,勾选数据库。选择存储位置Web服务器选择默认等到安装完成选择让WSUS服务器与Microsoft Update同步,让服务器直接从Microsoft网站下载更新程序与Metabase等。如果服务器需要通过企业内部的Proxy服务器联网,请在下图输入相关信息。点击开始连接,以便从Windows Update网站取得更新程序相关信息。选择下载语言选择需要下在的更新产品。默认系统会选择office和windows的更新,由于是实验环境就少选点选择下载所需类型选择手动或自动同步。选择自动同步,需要设置第一次同步的时间与每天同步的次数。执行第一次同步工作可以查看当前同步进度。如果要手动同步,选择同步选择中的立即同步如果要将手动同步改成自动同步,需要设置同步计划。前面安装的所有设置,都可以通过选项界面进行更改。在同步尚未完成之前,无法存储更改的设置,需要等待同步完成后更改设置。设置客户端的自动更新我们要让客户端计算机能够通过WSUS服务器下载更新程序,而这个设置可以通过以下两种方法来完成。组策略:在AD域环境下,可以通过组策略进行设置。本地计算机策略:如果没有AD域环境,或客户端计算机未加入域,则可以通过本地计算机策略进行设置。我们利用组策略来进行说明。在域中创建一个GPO,WSUS策略,然后通过这个GPO来设置域内的所有客户端计算机的自动更新配置。新建组策略展开计算机配置-策略-管理模板-windows组件。选择启用配置自动更新。通知下载并通知安装:在下载更新程序前会通知已登录的系统管理员,由他自行决定是否现在下载;下载完成后和准备安装前也会通知系统管理员,然后由他自行决定是否现在安装。自动下载并通知安装:自动下载更新程序,下载完成后和准备安装前会通知已登录的系统管理员,然后由他自行决定是否现在安装。自动下载并计划安装:自动下载更新程序,并且会在指定的时间自动安装。需要指定安装时间。允许本地管理员选择设置:此选项让在客户端的本地管理员可以通过控制面板自行选择更新方式。选择指定intranet Microsoft更新服务位置,然后指定让客户端从wsus服务器获取更新程序,同时也设置让客户端将更新结果报告给WSUS服务器,这两处请输入http://wsus:8530。设置完成后,必须等域内的客户端应用这个策略才能有效,而客户端计算机默认每隔90-120分钟应用一次。到客户端计算机上执行gpupdate/force命令。应用完成后,还必须等客户机与wsus服务器接触后,在wsus管理控制台才能看到这些客户机。不过需要等待20分钟才会主动联系WSUS服务器。在客户机上执行wuauclt/detectnow 命令。审批更新程序在wsus管理界面可以看到所有客户端机器,如果还有机器仍为显示,可以想到这些计算机上执行组策略刷新命令。注:如果客户端有新的更新状态可报告,而你希望立即报告,请到客户端计算机上执行wuauclt/reportnow.创建新计算机组为了便于利用WSUS管理控制台来部署客户端计算机所需的更新程序,建议将计算机进行分组。例如要创建一个名为业务部计算机的组,并将隶属于业务部的计算机移动到此组内。选择添加计算机组。将隶属于改组的计算机从未分配的计算机组移动到刚刚创建的业务部计算机组中。审批更新程序的安装WSUS下载的所有更新程序都要经过审批后,客户端计算机才可以安装此更新程序,此处假设要审批某个安全更新,以便让业务组计算机安装此更新。由于WSUS默认会延迟下载更新程序,也就是WSUS服务器与Microsoft Update同步时仅会下载更新程序的metadata。当我们审批更新程序后,更新程序才会下载。由于我们刚审批上述更新,WSUS服务器正要开始下载此更新,必须等下载完成后,客户端计算机才可以开始安装此更新。下图,审批栏目出现了安装1/3字样,表示当前有3个计算机组,只有其中一个组已经被审批安装此更新。客户端默认每隔17.6-22小时才会连接服务器检查是否有更新程序下载,可利用wuauclt/detectnow来手动检查。检查到后根据组策略的设置来进行更新。客户端可以通过组策略自动更新检测频率来更新检查时间。如果希望客户端计算机能够早一点自动检测,可以修改此值。只要客户端检查到可用下载,会自动右下角提示有更新。拒绝更新程序单击某个程序右侧的拒绝,则系统将解除其审批,同时在WSUS数据库内与此更新有关的报告数据都将删除,还有在此界面上也看不到此更新程序。如果要看到被拒绝的更新程序,请到审批处选择已拒绝后单击重新整理。自动审批更新程序可以设置当WSUS服务器与Windows Update同步时,自动审批下载的更新程序。例如,如果希望所有下载的安全更新与重要更新都能够自动审批给所有计算机:单击选项中的自动审批,在前景图中勾选默认的自动审批规则。如果还要将此规则应用到已经同步的更新程序,请单击允许规则。单击高级标签后,还可以更改以下设置。WSUS更新:可以用来设置是否要让WSUS产品本身的更新程序自动被审批。更新修订自动审批已审批的更新的修订:如果已审批的更新程序未来有修订版,则自动审批此修订版本的更新程序。当新修订导致更新过去时自动拒绝更新:当未来有新修订版本出现,而使得旧版本过期时,则自动拒绝这个过期的旧更新程序。自动更新的组策略设置本站介绍更多的关于自动更新的组策略,以便进一步管理客户端计算机与WSUS服务器之间的通信方式。通过另外创建GPO的方式进行配置,尽量不要通过内置的Defult Domain Policy GPO进行设置。配置自动更新此策略用来配置客户端下载与安装更新的方式。指定Intranet Microsoft更新服务位置用来指定让客户端计算机从WSUS服务器获取更新程序。自动更新频率用来设置客户端多久与服务器连接,检查是否有新更新程序。允许立即安装自动更新当更新程序下载完成并且准备好安装时,会根据配置自动更新的策略来决定何时更新。启用此策略后,某些新程序会立刻安装。这些更新是指那些即不会中断Windows服务,也不会重新启动Windows系统的更新程序。重新计划自动更新计划的安装如果通过计划制定某个时间点来执行安装更新程序,但是时间到达时,客户端计算机却没有开机。此策略用来设置客户端计算机重新开机后,需要等多少时间后开始安装更新。允许客户端目标设置应用此设置的所有计算机会自动加入指定的计算机组内,不需要管理员手动加入。下图,所有计算机会自动加入业务组计算机。允许来自Intranet Microsoft更新服务位置的签名更新如果此策略启用,客户计算机就可以从WSUS服务器下载由第三方开发和签名的更新程序;如果未启用,客户端只能下载Microsoft签名的更新程序。删除到Windows更新的链接和访问虽然WSUS客户端可以通过WSUS服务器来进行更新,但是系统本地管理依然可以通过开始菜单的windows更新来私自连接Microsoft Update网站。为了减少这种情况发生,建议通过此策略将客户计算机的windows update链接删除。完成后开始菜单的连接不会显示,控制面板的更新检查更新也会失效。用户配置-策略-管理模板-开始菜单和任务栏关闭对所有Windows更新功能的访问如果启用此策略,则会禁止客户端访问Microsoft更新网站,例如客户端通过开始菜单的Windows更新链接无法访问Windows Update网站,直接在浏览器里输入windows update网页也无法访问,不过客户机依然可以通过WSUS来获取。计算机配置-策略-管理模板-系统-internet通信管理-internet通信设置
教程与文档 0 0 678天前
admin
1775
原文转自:系统小技巧:选择性藏起Ctrl+Alt+Del安全选项 - 腾讯云开发者社区-腾讯云 (tencent.com)我们知道,在Windows 10环境下,通过Ctrl+Alt+Del组合键,可以启动包括更改密码、锁定计算机、任务管理器、切换用户、注销等系统安全登录选项。那么,如果出于安全或其他方面的考虑,希望藏起其中的某个或几个选项,该怎么办呢?在早先的Windows XP系统中,按下Ctrl+Alt+Del组合键,打开的是Windows任务管理器。自从Windows Vista之后,按下Ctrl+Alt+Del组合键,打开的是一个由多个选项组成的安全登录屏幕,而开启任务管理器的组合键更改为Ctrl+Shift+Esc。本文的方法同时适用于Windows 7、Windows 8、Windows 8.1和Windows 10等系统环境。1. 借助组策略 安全登录项自定义如果你所使用的系统是Windows 10专业版或更高版本的系统,通过组策略,可轻松地修改和自定义Ctrl+Alt+Del启动的屏幕选项,这样便可以让安全登录屏幕上只出现自己需要的选项。首先按下Win+R组合键,启动“运行”对话框。在“打开”文本框中输入GPEDIT.MSC,然后点击“确定”按钮,启动本地组策略编辑器(图1)。在本地组策略编辑器窗口左侧的导航栏内,依次展开“用户配置管理模板系统”,这时可以看到的第一个项目便是“Ctrl+Alt+Del选项”。点击该项之后,在右侧窗格中可以见到四个选项,分别为:删除“更改密码”、删除“锁定计算机”、删除“任务管理器”、删除“注销”等(图2)。若有多用户登录,还会出现删除“切换用户”选项。要删除以上选项中的一项或多项,双击这些项目,如这里我们双击“删除锁定计算机”选项,然后在开启的配置窗口中选择“已启用”选项,点击“应用”和“确定”按钮,这样选定的项目将不再出现在Ctrl+Alt+Del组合键所启动的选择窗口中(图3)。如果要禁止在安全登录窗口中显示“任务管理器”,则只需双击“删除任务管理器”一项,然后将其设为“已启用”即可(图4)。其他项目设定方法也如此。2. 通过注册表编辑器自定义登录项不是所有用户都能使用上述方法方便地控制Ctrl+Alt+Del窗口的选项。对于使用家庭版的Windows 10用户来说,由于家庭版中限制了组策略编辑器的使用,因此只能使用编辑组册表的方式来实现上述修改。小提示:为防止发生意外,请在修改前先对注册表进行备份。按下Win+R组合键后,在“运行”框中输入REGEDIT并回车,启动注册表编辑器。在注册表编辑器中,依次定位到“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System”(图5)。在System分支的右侧窗格中,双击“默认”名称,在弹出的“编辑字符串”对话框中,将“数值数据”设定为1,然后确定(图6)。为实现上述选项的禁用,接下来在右侧窗格中进行操作。如果要禁止锁定屏幕,在右键新建一个名为DisableLockWorkstation的DWORD (32 位)值,然后双击该项,将其数值数据设定为1,点击“确定”按钮(图7)。同样,如果要禁止更改密码,新建一个名为DisableChangePassword的DWORD (32 位)值,接着将其数值数据更改为1(图8)。类似地,如果要禁止“切换用户”,只需建立一个名为HideFastUserSwitching的DWORD (32 位)值,并将其数值数据设定为1;如果要禁止“注销”,只需建立一个名为NoLogoff的DWORD (32 位)值,并将其数值数据设定为1;如果要禁止安全登录菜单中的“任务管理器”选项,只需建立一个名为DisableTaskMgr的DWORD (32 位)值,并将其数值数据设定为1。小提示:如果上述项目已经存在,直接双击修改数值数据即可。
教程与文档 0 0 678天前
admin
3868
在安装Android-x86后,由于nVidia显卡驱动的原因启动过程中可能会卡住无法进入图形界面。此时在需要在启动参数中添加nomodeset选项来禁用显卡。其他Linux系统中遇到同样的问题也可以使用此方法解决。 产生原因The newest kernels have moved the video mode setting into the kernel. So all the programming of the hardware specific clock rates and registers on the video card happen in the kernel rather than in the X driver when the X server starts.. This makes it possible to have high resolution nice looking splash (boot) screens and flicker free transitions from boot splash to login screen. Unfortunately, on some cards this doesnt work properly and you end up with a black screen. Adding the nomodeset parameter instructs the kernel to not load video drivers and use BIOS modes instead until X is loaded. 某些显卡下Linux内核无法正常工作导致黑屏。 解决方法 方法一:开机后在grub界面选择第二项Debug mode,输入mount –o remount,rw /mnt 再输入vi /mnt/grub/menu.lst 在第七行的root前加入quiet nomodeset,修改后内容如下:title Android-x86 8.1-r5 kernel /android-8. 1-r5/kernel quiet nomodeset root=/dev/ram0 SRC=/android-8. 1-r5 initrd /android-8. 1-r5/ initrd. img 按ESC退出编辑,并输入:wq保存退出。 重启后即可进入图形界面。 方法二:开机进入GRUB界面,直接按键盘E键,然后又会进入一个新的选择界面,不用理会,接着按键盘E键。接着会进入到一个可以编辑的界面,只有一行字符串,然后找到 quiet root字符串,将其增加一个nomodeset,然后回车,按B键,然后自动进入图形界面。 缺点是每次启动都要进行该操作。
教程与文档 0 0 684天前
admin
1216
<?php error_reporting(0); $path=date(‘Ym’); if (!file_exists($path)) { mkdir($path, 0777); } $pathurl = $path.’/’.date(‘d’).’.jpg’; if (!is_file($pathurl)) { $str=file_get_contents(‘https://cn.bing.com/HPImageArchive.aspx?idx=0&n=1′); if (preg_match(“/<urlBase>(.+?)<\/urlBase>/ies”, $str, $matches)) { $imgurl=’https://s.cn.bing.com’.$matches[1].’_1920x1080.jpg’; copy($imgurl, $pathurl); } } header(‘Content-Type: image/JPEG’); @ob_end_clean(); @readfile($pathurl); @flush(); @ob_flush(); exit(); ?>
教程与文档 0 0 684天前
admin
995
百度网上大多数关于建立Mysql 索引的内容,都是只有简单的几条命令,对于第一次使用的人非常容易造成一头雾水,经过多番查找,总算找到一篇比较完整的关于如何建立的索引的文章原文转自:索引(一)Mysql创建索引 - 漫天飞羽 - 博客园 (cnblogs.com)这篇文章,主要是和大家一起去了解索引,然后一起使用CREATE INDEX语法给数据库中的表创建一个索引。一、先拿电话薄做个类比 假如,一个电话薄里面包含了一个城市的所有人的姓名和电话号码。那么,想找到Bob Cat的电话号码,另外我们知道电话簿中名字是按照字母顺序排列的,所以首先要查找姓氏为Cat的页面,然后在这个页面下查找名字为Bob的电话号码。 那如果在电话薄中的名字没有按照字母排列,就需要去浏览所有的页,然后在里面查找每个姓名直到找到Bob Cat,这种是查找了所有的电话页,所以在时间上还是挺费时的。 那我们将电话簿与数据库表联系起来,如果有一个电话簿表然后要找到Bob Cat的电话号码,则可以执行以下查询: SELECT phone_number FROM phone_book WHERE first_name = 'Bob' AND last_name = 'Cat'; 这个写起来很容易,在数据量不大的时候查询速度很快,但数据库必须扫描表的所有行,直到找到该行为止,如果表有数百万行而没有索引时,则检索数据会耗费很多的时间。二、索引的介绍 索引是一种数据结构,例如B-Tree,这种数据结构是需要额外的写入和存储为代价来提高表上数据检索的速度。一旦建立了索引后,数据库中查询优化器使用索引来快速定位数据,然后就无需扫描表中给定查询的每一行了。 其中。当使用主键或唯一键创建表时,MySQL会自动创建名为PRIMARY的特殊索引, 该索引称为聚簇索引。PRIMARY索引是比较特殊的,这个索引本身与数据一起存储在同一个表中。另外除PRIMARY索引之外的其他索引称为二级索引或非聚簇索引。三、MySQL CREATE INDEX语句 通常,创建表的时候就能为表创建索引。 例如,以下语句创建一个新表,并创建了是由两列c2和c3组成的索引。CREATE TABLE t( c1 INT PRIMARY KEY, c2 INT NOT NULL, c3 INT NOT NULL, c4 VARCHAR(10), INDEX (c2,c3) ); 但是要为列或一组列添加索引,可以使用CREATE INDEX语句,如下所示:CREATE INDEX index_name ON table_name (column_list) 要为列创建索引,要指定索引名称,索引所属的表以及列。 例如,要为列c4添加新索引,请使用以下语句:CREATE INDEX idx_c4 ON t(c4); 默认情况下,如果未指定索引类型,MySQL将创建B-Tree索引。 以下显示了基于表的存储引擎的允许索引类型: 四、MySQL CREATE INDEX 举例 以下语句查找职位为Sales Rep的员工:SELECT employeeNumber, lastName, firstName FROM employees WHERE jobTitle = 'Sales Rep'; 这里数据返回了17行,表明17名员工的职位是销售代表。 那我们要查看MySQL如何在内部执行此查询,可以在SELECT语句的开头添加EXPLAIN子句,会得到下面的结果:   可以看到,MySQL必须扫描包含23行的整个表,以查找具有Sales Rep职位的员工。 现在,让我们使用CREATE INDEX语句为jobTitle列创建一个索引:CREATE INDEX jobTitle ON employees(jobTitle); 并再次执行上述语句: EXPLAIN SELECT employeeNumber, lastName, firstName FROM employees WHERE jobTitle = 'Sales Rep'; 这时候看到,MySQL只需要在键列中指示的jobTitle索引中找到17行而不扫描整个表。 如果要显示表的索引,可以使用下SHOW INDEXES语句,例如: SHOW INDEXES FROM employees; 返回结果如下的索引五、可能遇到的问题 在创建过程中,我们可能会遇到“BLOB/TEXT column 'xxx' used in key specification without a key length”这样的报错 错误产生原因:查阅资料后才知道,原来Mysql数据库对于BLOB/TEXT这样类型的数据结构只能索引前N个字符。所以这样的数据类型不能作为主键,也不能是UNIQUE的。所以要换成VARCHAR,但是VARCHAR类型的大小也不能大于255,当VARCHAR类型的字段大小如果大于255的时候也会转换成小的TEXT来处理。所以也同样有问题。 解决方案:知道原因就好解决了,首先我们查看该表结构,发现对应报错字段为Text,那么我们只需要将其修改为varchar,然后后面对应的长度根据情况进行设置,比如站长这里,由于该值最大也不会超过100,故设置最大长度为100即可 此时再去执行创建命令,发现已经可以执行成功了
教程与文档 0 0 689天前
桂公网安备 45010302000666号 桂ICP备14001770-3号
感谢景安网络提供数据空间
本站CDN由七牛云提供支持
网站已接入ipv6
免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。
如果某些内容侵犯了您的权益,请通过右侧按钮与我们联系
Your IP: 44.192.44.30 , 2024-07-14 09:50:32 , Processed in 0.58458 second(s).
Powered by HadSky 8.3.15
知道创宇云安全