sqlserver启动时检查文件tempdb.dbf扇区大小时遇到意外错误

2

分类 : 网络日志 | 发表时间 28-01-2010

朋友网站,早上打开网站时,发现主页出现了“sql数据库连接错误”的提示,昨晚他倒腾服务器了,可能影响到了。

听他讲,昨晚并没有涉及数据库的操作,因此这可能是以前的操作引起的。

命令行运行sql:net start mssqlserver,在进程中发现,sqlserver.exe进程运行了下又退出了。

查看日志:17052:检查文件 ‘E:\Program Files\Microsoft SQL Server\MSSQL\data\tempdb.mdf’ 的扇区大小时遇到意外错误。详细信息请检查 SQL Server 错误日志。

17052:
CREATE DATABASE 失败。未能创建所列出的某些文件名。请检查前面的错误信息。

难道tempdb.mdf有错误了?这种错误,和磁盘错误也有关系。

查看管理工具中的服务,发现sqlserver.exe服务是由特殊用户运行的,这也是为了服务器的安全考虑:我的电脑–控制面板–管理工具–服务–右键 MSSQLSERVER–属性–登陆–登陆身份

(如果是”本地系统帐户”,则是当前登录操作系统的用户),并检查该用户是否有操作 c:\Program Files\Microsoft SQL Server\MSSQL\data\ 的所有权限。

从安全的角度考虑,将“SQL2000数据库”安装在独立的分区里面,而且,“SQL2000数据库”必须运行在“普通用户”的状态下。所谓“普通用户”就是指没有任何权限的用户。

为什么要将“SQL2000数据库”必须运行在“普通用户”的状态下呢?因为如果使用了“超级管理员”或者“本地系统用户”来运行“SQL2000数据库”,就会造成服务器被入侵。因此,为了您的服务器安全,您务必将“SQL2000数据库”运行在“普通用户”的状态下。同时,要对硬盘的权限做好对应的权限设置“SQL2000数据库”才能正常运行。对于硬盘的权限设置请参考如下:

(假设您的数据安装在E:\Program Files\Microsoft SQL Server\)

 1. E盘的根目录(E:\)需要以下权限:

   “administrators ”的全部权限
   “System ”的全部权限
   “SQL2000的运行用户(只应用在当前文件夹)列出文件夹/读数据”的权限
   “读属性”的权限
   “读扩展属性”的权限
   “读取”的权限

 2. 数据库的安装目录(E:\Program Files\Microsoft SQL Server\)需要以
   下权限:

   “administrators ”的全部权限
   “System ”的全部权限
   “SQL2000的运行用户 ”的全部权限

(假设您的数据备份目录安装在F:\SQLBACK)

 1. F盘的根目录(F:\)需要以下权限:

   “administrators ”的全部权限
   “System ”的全部权限
   “SQL2000的运行用户(只应用在当前文件夹)列出文件夹/读数据”的权限
   “读属性”的权限
   “读扩展属性”的权限
   “读取”的权限

 2. 数据库的安装目录(F:\SQLBACK)需要以下权限:

   “administrators ”的全部权限
   “System ”的全部权限
   “SQL2000的运行用户 ”的全部权限

sql server 利用首字母拼音排序和笔画排序的语句

0

分类 : 编码知识 | 发表时间 07-07-2009

今天在整理一个大分类时,由于分类下面综合了几个网站的信息,因此想把几十个小分类综合一下,但拷贝到一起时,人工来分辨无疑极为伤神又伤眼,这样就想到用sql排序了。

首先把这些信息在editplus中,转换为一列,拷贝到excel中,拷贝后记着在第一行前插入一行,作为列标头,例如为name,然后在sql中表中,导入数据,生成一个新表,例如fenlei,打开sql语句行,执行:

SELECT *
FROM Fenlei
ORDER BY name COLLATE Chinese_PRC_CS_AS_KS_WS

这是按首字的拼音来排序。

SELECT *
FROM Fenlei
ORDER BY name COLLATE Chinese_PRC_Stroke_CS_AS_KS_WS

这是按首字笔画来排序。

Linker对SQL学习不多,现用现学现查找,记录收藏下,共享之。

有些意外 微软发布为PHP提供的SQL Server 2005驱动

0

分类 : 业界动态 | 发表时间 28-08-2008

确实非常意外。以前asp与access针对个人小站,asp与sqlserver,开发中型企业门户,php与mysql,linux下的高端高性能高负载网站,特别流行的是大量的资讯网站与论坛,这种组合,似乎已经在意识中固化,同时也显得很自然,这样的搭配,大家都认为很正常。至于asp与mysql,php与sqlserver,这种组合,从来就没想过;随着php与mysql的日趋流行,php高效的地方也逐渐替代asp,微软就此适时发布了专为PHP所用的SQL Server 2005驱动(SQL Server 2005 Driver for PHP)1.0版。

这一驱动的目的是在PHP和SQL Server 2005之间提供更强大的交互功能:

SQL Server 2005 Driver for PHP是PHP 5的一个扩展,用来访问SQL Server
2005。这一扩展为所有的SQL Server 2005版本(包括速成版),提供了一个数据访问编程接口。SQL Server 2005
Driver for PHP API提供了对Windows认证、交易、参数绑定、流、元数据访问和错误处理的支持。(MSDN) 

该驱动现在可以从微软网站上下载。MSDN另外还提供了一个应用示例和详细文档

基于微软公共协议(Microsoft Public License,Ms-PL),微软还在CodePlex上发布了这个驱动的源代码。开发人员可以用这些源代码创建自己的应用,但是微软仅对MSND下载站点上的签约驱动版提供支持。

SQL Server 2005 Driver for PHP需要微软SQL Server 2005 ODBC驱动的支持,而该ODBC驱动只用于Windows平台。目前微软还没有计划要为其他操作系统平台提供类似的驱动。

查看英文原文:Microsoft SQL Server 2005 Driver for PHP Released

玩php的,试下php与sqlserver的搭配吧!

如何在SQL Server 2005中创建数据库

3

分类 : 网络日志 | 发表时间 13-08-2008

如何在SQL Server 2005中创建数据库,这个问题,问得确实有些傻得可以,像sql server 2000一样嘛,在企业管理器中建立就是啦!

不是,我今天为着一个问题,而安装了sql server 2005,安装了以后,硬是十几分种没找到在哪创建数据库,没办法,才求助于搜索引擎的。

也没注意是sql server 2005的哪个版本,反正是安装完以后,服务启动起来了,管理服务的工具也有了,但怎么找,怎么打开,就是没有创建数据库这样的操作可能,难道这个版本只能这样玩,不能创建新的数据库?我和同事两个人还都比较“傻”的互相开玩笑说,真高级,管理工具难不成是另外出售的?看DVD盘里面,还有一个TOOLS的目录,但在这个目录中安装时,提示这里面的组件都已经安装了,看来在开始的安装向导里面,安全起见,都选择安装上了,这样,还是没有找到可以创建数据库的可能,真是奇怪了;搜……

这一搜还真找出来不少学问:

SQL Server 2005 Express版本就可以建库了。但如果要在安装后管理创建数据库,需要下载安装Microsoft SQL Server Management Studio Express Service Pack 2,安装后打开,“数据库”节点上右击,选“新建数据库”,按提示操作即可完成。

另外又有人说,在SQL Server 2005 Express版本中,用vs 打开SQL Server 2005 Express 可以建库的。我用vs时,提示ie版本不够,需要是iesp1以上,我当时用的是win2000,还ie5.5呢,因此,没再继续折腾,不然,倒真试一下在vs2005中是否可以创建新的数据库?

另有高人提醒了:vs2005自带的sql是速成版(express)的,功能不完整,最还用个人专业版以上的版本。sql2005中没有单独的企业管理器,它把2000中所有的工具都集成在studio manager中,开发效率更高,如果安装完2005发现没有studio manager,那就说明安装的有问题。

哦,是我安装的有问题?我都选择安装了啊,我还安装得有问题?我是下载的版本有问题吧?明天再下载一个企业版本的去。sql server 2005相对于sql server 2000在性能上还是有很大的提高的,并且对于大表支持分区表操作,也有助于提高数据库的处理性能。

在用sql server 2005还原sql server 2000的备份数据时,会提示结构不搭配,造成还原不成功,这是在新建数据库后还原的情况下出现的;当遇到这个问题时,只要删除新建的数据库,直接在数据库管理上右键单击选择还原自,根据向导做就可以了。

不仅研究sql server 2005,研究oracle的计划也在安装之中,觉得这东东处理大的数据库,更是牛气一筹!今天碰到的一例sql server 2000远程访问(隔2M市数字线路)的延时问题,的确经典,解析到最后的问题是操作系统问题,重装操作系统后解决,直接重新安装sql server 2000还不能解决问题;现在想来,估计是tcp/ip协议的问题,如果当时删除掉tcp/ip协议,重新安装此协议,说不定也有可能解决此问题。

微软sql server 2008中文试用版本发布下载了

0

分类 : 业界动态 | 发表时间 09-08-2008

sql server,一般现在用得多的还是sql server 2000,林网博客之前遇到的,也是sql server 2000的问题居多,比如[sqlserver2000过期引起的不能启动sqlserver2000服务] [如何限制SQL SERVER用户对表和字段的删除添加权限?] [sql2000 因为选定的用户拥有对象,所以无法除去该用户] [xp下安装sqlserver2000企业版以及在xp下asp无法连接sql的解决],在网上搜索,也是诸如此类的问题占大多数,对于sql server 2005以及现在发布的sql server 2008,却是了解不多,更不用谈使用时遇到的问题了。

以前在sql server 2005刚出来时,一时兴起,安装了一把,2004年的P4配置,跑着实在有些不流畅,大概安装了不到一周,就卸载了,一来现在的开发平台主要用的还是sql server 2000,另外,新版本有很多操作习惯变了,这样就使得实际使用时很费时间,至于增强的功能,限于时间,没有过多了解,现在sql server 2008正式版本发布下载了,决定下载后小试一把,今天暂且看看他的新功能。

cnbeta今天连着两篇文章报道sql server 2008,微软官方SQL Server 2008正式中文试用版下载

Microsoft® SQL Server® 2008 Enterprise Evaluation:开发人员试用体验

http://www.microsoft.com/downloads/details.aspx?FamilyId=6B10C7C1-4F97-42C4-9362-58D4D088CD38&displaylang=zh-cn

Microsoft® SQL Server® 2008 Enterprise Evaluation:IT 专业人员试用体验
http://www.microsoft.com/downloads/details.aspx?familyid=265F08BC-1874-4C81-83D8-0D48DBCE6297&displaylang=zh-cn

SQL Server 2008 发行说明
http://www.microsoft.com/downloads/info.aspx?na=90&p=&SrcDisplayLang=zh-cn&SrcCategoryId=&SrcFamilyId=daf00920-7214-418a-a4b0-727f4ce08f81&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f9%2ff%2fe%2f9fe7971b-cea6-4f67-ac49-d7fc82a75119%2fReleaseNotesSQLServer2008_CHS.htm

Microsoft SQL Server 2008 联机丛书
http://www.microsoft.com/downloads/info.aspx?na=90&p=&SrcDisplayLang=zh-cn&SrcCategoryId=&SrcFamilyId=765433f7-0983-4d7a-b628-0a98145bcb97&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f1%2f3%2f2%2f1321c45a-aab0-4033-9d82-f0862edc8418%2fSQLServer2008_BOL_CHS.msi

附带着介绍两款Microsoft SQL Server 2008附加软件:
第一款是用于Office 2007的Microsoft SQL Server 2008 Data Mining插件,这个插件能在Excel利用SQL Server进行数据分析了;
第二款是Microsoft SQL Server 2008 Feature Pack, August 2008,是一个传统的资源包。里面有各种SQL Server 2008的实用工具。

下载链接:
Microsoft SQL Server 2008 Data Mining
Microsoft SQL Server 2008 Feature Pack, August 2008

SQL Server 2008的精妙之处:

1.安装方面:配置数据和引擎位已经分开了,所以它使创建基本的未配置系统的磁盘图像变得可能了,它使分布到多个服务器变得更容易了。

2.四个关键领域:企业数据平台、动态开发、超越关系型数据库和无处不在的远见。

3.终止了对sql server 2000的支持,看来以后移植平台,势不可免!

4.加密选择:第1个称作透明数据加密,第2个加密特点是备份加密,最后,对于外部密钥管理有一个新的选项。如果你要处理信用卡或遵循PCI的处理的话,SQL Server 2008将支持硬件安全模块(HSM)。硬件安全模块是在独立于要保护的数据的本地用来存储密钥的第三方硬件解决方案。

5.审计:除了登录/登出和权限更改的标准审计外,SQL Server 2008允许监控数据的更改或访问。

6.数据压缩:使用压缩时会轻微的增加CPU的使用,整个系统的性能会因为I/O的减少而得多提升。

7.资源管理器:SQL Server 2008里资源管理器是崭新的。

8.热插CPU:在SQL Server 2008里,如果基本的硬件支持的话,在运行时可以添加另外的CPU。

9.性能数据:在SQL Server 208里的性能计数器的数量相比以前的版本有所扩展了。在SQL Server 2008里Performance Studio是一个崭新的工具。该工具是性能工具的一个集合。它们可以一起用来监控、诊断、调优和报告。

至于对企业数据平台的贴心升级支持,更是重中之重,数据库平台,一向是企业用户使用者居多。

更多了解 microsoft sql server 2008的功能和特性介绍,可以看下这里的专题:

http://dev.yesky.com/topic/12/7684512.shtml

sqlserver2000过期引起的不能启动sqlserver2000服务

0

分类 : 网络日志 | 发表时间 17-07-2008

今天早上一到公司,启动电脑,照例打开编程工具,调试连接sqlserver,连接超时?

这现象很奇怪了,用sqlserver2000已经很多年了,突然有这现象?还真是不多见,以前也遇到过很多有关sql的问题,比如:如何限制SQL SERVER用户对表和字段的删除添加权限?sql2000 因为选定的用户拥有对象,所以无法除去该用户设置sqlserver2000运行安全在最小权限普通用户下的方法xp下安装sqlserver2000企业版以及在xp下asp无法连接sql的解决sqlserver突然变慢的一种处理方法sqlserver挂起重启的处理办法,这其中的很多有关sql不能重启问题,有类似的sql登陆权限解决法、sql安装目录访问权限法等,但这些招术都一一试过了,依然还是不能启动,查系统日志中,有这个莫名其妙的错误。

这莫名其妙的问题,以及莫名其妙的提示,真是让人不得其解,到google.com上也没有得到相关提示。重装?想到重装的时候,突然想到以前的一个例子,当时在一台测试服务器上安装了一个评估版本,后来过了三个月以后,就出现sqlserver服务启动不起来的故障,后来用那个版本再重装也不行,难道这也是那个问题?

先不必重装,把时间向回调一下;调了不管用?点击时间一看,晕,17日调回到15日,确定后还是17日,突然想到前些天为防止修改时间的木马病毒(这类病毒通过修改时间可以让杀毒软件监控失效,比如弱智的卡巴),于是到360网站下载了时间保护器,卸载掉时间保护功能,然后调回时间,再启动sqlserver服务,果然,成功启动了。

二话不说,换吧!正好服务器上还有一个sqlserver四合一的版本,这个版本是经过历史考验的,卸载掉以前版本,删除sql安装目录,如果需要备份data,直接备份,然后重新安装,运行起来sql服务,再加载重新加载数据库就ok了;有网友需要下载这个版本,迅雷gougou上搜索吧,这个下载还是非常热门的。

至于升级:SQL Server 2000 评估版过期后升级到 SQL Server 2000 零售版方法

1.从零售安装 CD 运行安装(例如,从 SQL Server 2000 安装 CD 运行有效的零售版)。
2. 选择为现有 SQL Server 实例升级、删除或添加组件。
3. 选择要升级的实例。
4. 选择升级现有安装选项。
5. 选择是,升级我的程序框。
6. 如果您不想添加任何附加组件,请在是否要安装附加组件?对话框中选择否。如果您要添加其他组件,请选择是,并选中要添加的组件的框。
7. 单击完成。
8. 停止并重新启动 SQL Server

依我看,还是最好重装吧!备份数据库,也算是比较简单的事情了!

如何限制SQL SERVER用户对表和字段的删除添加权限?

1

分类 : 网站技术 | 发表时间 21-06-2008

使用sqlserver2000已经五六年了,但对于sqlserver的使用,一直也在边缘阶段,除非有特殊问题,才专门研究一番;有朋友是做IDC的,最近在一块讨论,说有一个客户,是自己写的asp程序,最近总中木马并且还在sql数据库中建立了一些垃圾表,虽然不影响服务器安全,但这样一来,也总是问题,看能不能解决下?

这问题算是比较普遍的asp类问题了,业余asp编写者,在编写asp代码时,难免对于过滤特殊字符,没有考虑周全,这方面可以利用网上比较通用的asp木马注入过滤程序来缓步解决,具体方法,不多赘述;

sqlserver的安全,本站中有很多文章都有提及,不仅涉及删除危险的存储过程,建立sql独立运行用户,设置sqlserver的目录权限等,来设置sqlserver以及整体服务器的安全,另外,虚拟主机各用户都有独立的sql访问权限,不会影响到其它数据库,更不会影响到sql整体和服务器安全;朋友所提到的,第二个问题,就是随意在数据库中建立表,把木马注入问题解决后,这个问题可以得到缓解,但还可以更进一步做出设置,就是限制虚拟主机sql独立用户对数据库的管理权限,一般,虚拟主机会给该sql独立数据库用户分配该数据库的完全db_ower权限,这时,该用户对此数据库的所有表、字段有着一切管理权限,包括建立表、删除表、新建字段等,一般数据库在表结构建立以后,对于数据库结构的修改,会比较少,主要会对数据库进行读取、写入操作,因此,可以考虑,只给此sql独立访问用户对该数据库的读、写权限,其它权限暂时封闭。进入“sql   server企业管理器”,点击要进行限制的数据库,选择“用户”,比如test用户,在test上点击鼠标右键,选择属性,去掉db_owner权限,加上db_datareader和db_datawriter权限即可。

有关设置可以参考:设置sqlserver2000运行安全在最小权限普通用户下的方法 修改sqlserver数据库所有者

MySQL安全问题(匿名用户)的一点心得

0

分类 : 技术文摘 | 发表时间 28-09-2007

在安装完MySQL后,它会自动创建一个root用户和一个匿名用户,其初始密码都是空,对于前者,很多参考资料上都会提醒大家要注意及时设定一个密码,而忽略了后者,大概是因为后者默认设定为只能在本机使用的缘故吧。

  但如果你的MySQL是要提供给Web服务器作数据库服务的,忽略这个匿名用户的代价可能相当惨重,因为在默认设置下,这个匿名用户在localhost上几乎拥有和root一样的权限,这时候,如果你的客户拥有上传脚本文件、脚本文件可以进行MySQL数据库操作(比如允许操作MySQL的php)的权限已经可能将你的MySQL改动得面目全非了:

  我今天帮朋友整理他的主页空间的时候,试着写了一个很简单的执行sql语句的php文件上传上去,其中连接字中的user,password我都试着置空,host=localhost,结果发现我的sql语句可以执行,于是执行select * from MySQL.user察看用户权限,发现这个用户在localhost权限非常高,连grant_priv都有,(察看的时候,会发现在root用户下有两行用户名、密码为空的,但各项权限有y\n的,就是这个匿名用户本地、远程权限设置了)

  所以我试着用这个php页面创建一个新用户,并grant给他较高的权限,结果一举成功,这样我就可以用这个新用户通过我本机的MySQL client连接到这个网站的MySQL server,并用这个新建立的用户的管理权限对这个网站的MySQL server进行管理,看到自己可以进行这样轻易获得深入的数据库操作,我怎么还敢把朋友的主页空间的敏感资料放入这个MySQL server呢?

  改进建议:

  1、在安装完成MySQL 后,不仅改变root用户的的密码,也同时改变匿名用户的密码,方法类似改变root的密码的方式:

  MySQL> UPDATE user set password=PASSWORD(‘yournewpassword’) where user=”;
  MySQL>FLUSH PRIVILEGES;

  2、如非必要,删除这个匿名用户,这样所有人要使用MySQL 都必须提供用户名,即便日后出了问题,也容易查找问题的源头。

  3、除了root用户外,其他用户包括匿名用户(如果没有删除这个用户)不应该拥有grant权限,防止管理权限不受控制的扩散出去。

  4、赋予用户update\delete\alert\create\drop权限的时候,应该限定到特定的数据库,尤其要避免普通客户拥有对MySQL数据库做操作的权限,否则你的系统设置很可能被替换掉。

  5、检查MySQL.user表,取消不必要用户的shutdown_priv,reload_priv,process_priv和File_priv权限,这些权限可能泄漏更多的服务器信息包括非MySQL的其它信息出去。

  6、如果不打算让你的用户使用MySQL数据库,在提供诸如php这样的脚本语言的时候,重新设置或编译你的php,取消它们对MySQL的默认支持。

Discuz!论坛详细安装向导

0

分类 : 技术文摘 | 发表时间 08-08-2006

现在php和mysql的组合非常火,前一段时间玩phpwind,感觉还是不错;这一段时间,又把discuz下载下来测试了一把,果然不错;事实上,最新版本5.1的,也已经出来了;以下测试版本是4.1的……

  平台:WINDOWS XP SP2 + APMServ5.1.2

  测试环境:PHP程序+asp程序+asp.net程序+cgi程序;

  测试推荐:APMServ5.1.2组合服务器(这个组合是全能的)

  程序版本:Discuz! 4.10

  一、安装Discuz!论坛

  APMServ5.1.2的默认访问路径为\APMServ5.1.2\www,在WWW文件下新建了Discuz! 文件夹,把Discuz!论坛安装目录复制到Discuz!文件夹中,测试地址变为:

http://127.0.0.1/Discuz!/



  运行:

http://127.0.0.1/Discuz!/

浏览器会提示:Access denied for user:

[url=mailto:'dbuser@localhost']‘dbuser@localhost’[/url]

(Using password: YES) 错误提示:论坛数据库错误。



图1 未安装数据库时提示的错误

  解释:这个是因为还没有安装Discuz!论坛数据库,所以有错误提示。

  运行:

http://127.0.0.1/Discuz!/install.php

,系统会自动转到Discuz!论坛的安装界面。

  Discuz!安装文件夹内有4个安装语言包供您选择,各位根据自己的需要进行选择。现在选择[简体中文 GBK]格式。

  小贴士:若环境用的是国外php+sql,推荐使用[简体中文 UTF-8]语言包,因为这样大大的减少了安装过程中出现乱码的情况!

  点[简体中文 GBK]进入下一安装步骤。



图2 选择合适的语言

  出现Discuz!系列软件的授权介绍等说明,点击“我完全同意”进入安装的下一步骤。



图3 “同意”并开始安装过程

  根据空间服务商提供的资料填写完整,如有不明白请咨询服务提供商。(如果还是不太明白,干脆就制作一个此项目表格,传给服务商,让服务商帮你填写完毕。)

  此出有两点需要注意:1)填写的资料是否正确?2)是否拥有数据库空间的管理权限?如果没有管理权限,请马上联系空间管理员。

  在这里填写的是系统默认的数值,点保存配置信息进入安装下一步骤。

&namecode=pcedu&subnamecode=pcedu_index’ target=_blank>





图4 填写相关信息

  检查空间的文件权限与运行论坛环境的差异,要是发现不同的话就马上进入你的FTP选择文件设置他的写权限为777。

&namecode=pcedu&subnamecode=pcedu_index’ target=_blank>





图5 设置文件夹属性(+点击上图可放大)

  填写论坛管理员的信息,一定要记住这些资料。写完以后点击“开始安装Discuz!”进入论坛装下一步。



图6 开始安装

  系统正在新建论坛运行需要的数据库表,安装完毕后,在页面最下面列出设置好的管理员ID和密码。



图7 安装成功

  现在就安装完毕Discuz!论坛了。点击进入论坛。

&namecode=pcedu&subnamecode=pcedu_index’ target=_blank>





图8 论坛首页(+点击上图可放大)

  选择“登录”,输入刚才设置的管理员ID和密码点提交登陆论坛。



图9 登陆后台

  进入论坛,选“系统设置”,系统会新开窗口打开管理界面。



图10 进入“系统设置”
<
br/>

图11 后台设置

  在后台设置完相关设置以后,论坛就可以正常运行了!

  二、安装常见问题

  1.什么是二进制(BINARY)上传?如何设置并使用二进制上传?

  答:所有的 FTP 服务器端和客户端软件均支持两种方式的文件上传,其一为文本(ASCII)上传,其二为二进制(BINARY)上传。Discuz! 要求用户在上传 PHP 程序文件时,使用二进制的上传方式进行。原因为某些程序文件经过编译处理,使用一般的文本上传会造成文件传输错误,影响您的使用。您可以在所有的 FTP 客户端软件中找到有关二进制上传的选项,例如 LeapFTP, CuteFTP 等。以下举例说明这两种客户端软件设置 PHP 文件二进制上传的方法。

  LeapFTP:在 Options(选项)菜单中选择 Parameters(参数设置),选择其中的[ASCII 扩展名],出现列表后,选中其中的“*.PHP”,点右边的[删除],再点右边的[确定]即可。如果“*.PHP”项目不存在的话,可直接使用,不需另行设置。

  CuteFTP:进入软件后按 ALT+F7 进入 Global Options(全局选项),选择[传输]下面的[ASCII 类型],在右边列表框中找到名为“PHP”的项目,选定后点右边的[删除],再点下面的[确定]即可。如果“PHP”项目不存在的话,可直接使用,不需另行设置。



  2.如何更改文件属性?



  答:只有在服务器使用 Linux/Unix 类操作系统时,才需要在安装时对文件属性进行更改,Windows 系统的服务器不需要更改属性。您可以在 FTP 软件中,选定需要更改属性的文件或目录,然后点右键选择 CHMOD(更改文件属性),输入属性值(如 777),再确定即可。如果您的 FTP 软件提示无权更改属性,而您又没有办法通过 Shell 的方式登入主机,请与空间服务商联系,要求其授予您 CHMOD 的权限。



  3.为什么访问所有 .php 页面都会出现类似程序代码一样的信息?



  答:这种情况是因为您的服务器上 PHP 语言支持环境没有被安装,或配置不正确。请自行安装,或向空间提供商寻求解决。



  4.为什么软件提示 Unable to read xxx bytes in xxx.php in xx 这样的信息?



  答:因为您没有使用二进制(BINARY)上传 PHP 文件,请使用 FTP 软件将所有 PHP 文件重新传输一次。



  5.为什么论坛提示 Caches successfully created, please refresh?



  答:这是缓存自动更新的提示信息,通常在初次安装完成后,或缓存文件不存在由系统自动重新建立的时候出现。这个提示为正常现象,一般仅出现一次,刷新该页面即可。



  6.为什么论坛提示 Can not write to cache files, please check directory ./forumdata/ and ./forumdata/cache/ .?



  答:出现这个提示通常因为 Cache 文件无法写入。使用 Unix 类操作系统的用户,请检查“./forumdata/和“./forumdata/cache/”和“./forumdata/templates/”这三个目录是否设置了可写属性(777),同时如果您是从其他服务器上转移论坛而来,除了需要对上述文件设置属性以外,用以下两种方式也可以解决:



  将上述三个目录中的后两个目录中的所有文件全部删除;或将上述三个目录中下的所有文件及目录属性均设置为777。



  7.如果数据库不存在,安装程序可以自动建立数据库吗?



  答:Discuz! 安装程序提供这个功能,前提是您的账号要有建库的权限才行,否则只能使用已有的数据库。



  8.一般情况下,需要修改 config.inc.php 中的什么设置?



  答:一般应用只要修改 $dbname,$dbuser,$dbpw,$dbhost,$adminemail 这五个变量,而其他保留默认或等待对论坛软件更加熟悉以后再进行修改。上面这五个变量,除了 $adminemail 外,其他均用于连接数据库,在您服务器空间的说明中都会给出,如果其中之一配置不正确就会出现数据库无法连接的错误提示而无法使用 Discuz! 论坛。如果您对此不了解,请咨询您的空间服务商,如何设置这四个变量参数。



  9.安装后论坛提示 Access denied for user@localhost using password YES’,该如何解决?



  答:这个提示意味着您的数据库连接参数设置的不正确,有两种可能:其一为数据库账号或密码错误;其二为数据库账号和密码均正确,但无权访问指定的数据库。遇到此种情况,请您咨询您的空间服务商,针对您的空间该如何配置数据库连接参数。



  10.为什么安装成功,进入系统设置后提示 Please delete install.php via FTP?



  答:因为您没有按照说明将 install.php 删除,会产生安全问题,使用 FTP 软件将其删除后这个提示自动消失。



  11.Discuz! 文件及目录结构的形式是怎样的?



  答:Discuz! 软件包通常以 tgz(tar.gz)或 zip 的格式压缩,绝大多数压缩软件可解开此类压缩格式的软件包,解压后的目录结构如下所示:



  ./users_guide.htm   用户使用说明书(本文档)

  ./usersguide/     用户使用说明书内容与图片目录

  ./upload/   程序及相关文件(此目录中的内容需上传)

  *.php           Discuz! 程序



  install.php       Discuz! 安装脚本

  config.inc.php     论坛基本配置,安装前请修改本文件

  mail_config.inc.php   邮件发送配置

  whatsnew.php       网页新帖调用程序

  admin/             系统设置程序目录

  *.php             系统设置程序集

  attachments/         空目录,请设置属性 777,用于存放附件

  customavatars/       空目录,请设置属性 777,用于存放上传头像

  forumdata/           空目录,请设置属性 777,用于存放备份及记录数据

  templates/         空目录,请设置属性 777,用于存放编译模板文件

  cache/             空目录,请设置属性 777,用于存放系统缓存

  templates/           模板文件目录

  default/             系统默认模板目录

  *.htm               系统默认模板文件

  *.lang.php           系统默认语言包文件

  images/               图片文件目录

  attachicons/           附件图标图片目录

  avatars/             论坛提供头像图片目录

  
common/               公用图片目录

  default/               系统默认风格图片目录

  smilies/             Smilies 图片目录

  stats/             流量统计图片目录

  include/               引用包含目录

  *.php                 引用包含程序集



  plugins/             空目录,用于存放插件程序

  ./utilities/           论坛附带工具

  repair.php             数据库修复工具

  restore.php               分卷备份数据恢复工具

  testmail.php               邮件发送测试工具

  upgrade(x).php               论坛升级程序


合租服务器大解密

0

分类 : 业界动态 | 发表时间 15-06-2006

作者:aileenguan
来源:绿光互联(http://www.phpidc.net)

搞合租也算是有些时间了,经历了一些,也有一些经验和感触,愿意拿出来跟朋友们分享。请注意,在这里,只是用经验,用事实,用监测说话,而且是在大量机器基础上得出的结论。

1.首先要解释一个带宽的问题。
有人号称服务器100Mb带宽,却不肯提共享两个字。事实上,独占一条100Mb带宽每个月的费用都得在千元左右,这样,仅仅是带宽一年都得上万的费用。所以一般的IDC是不会让你独占这个带宽,正常来讲,这个100M带宽要分配给15台左右的机器,黑心的服务器商可能分配给更多的机器。而且,一般会给每一个机器设置带宽上限为10M上下。所以,记住,不会有100M独占的机器给你用,所谓的100M基本都是共享,分配到一个服务器上的也就是10M上下

这里不得不提到一个带宽单位的问题,要注意KB不等于Kb MB也不等于Mb B代表着byte,而b则是bit 1B=8b 所以由此类推,其实10Mb的带宽在你机器上的理论上的速度上限只有1.25MB 而事实上,除去部分头文件信息,这个数量就更少了。

那么,有人会提出疑问了,这样一个带宽,让服务器上那么多的用户使用,够吗?答案是肯定的,只要你不提供下载,就web访问而言,这是很足够了。本人现在几台服务器上均安装了iis流量的监测工具,虽然小有限制,但是在访问量高的时候,同时的带宽也就能限制在1MB/s左右。带宽是够的。

2.内存的问题
应该说参与合租的站点都不会太大,因为本人是在PHPWind论坛基础上号召起来的,所以参与的用户多数都是要自己做论坛的,一开始,考虑的配置是P4 3.0 (64位) 1G DDR400内存,这样子。但是很快发现,就算按照原本的20个人的用户,这个内存也很快被耗尽,此前就听人说论坛是资源大户,就现在来看,mysql吃内存太厉害,在2003+IIS6+Mysql平台上,常常mysql就要占去服务器高达四五百兆的内存,这就占用了服务器物理内存的50%。再加上iis占用,还有其他一些服务,基本上内存很容易告罄。所以后来的机器,内存只好自己掏钱一律扩容了,因为没有办法。我觉得最佳的配置应该是2G内存,1G是绝对不够的。再多无益,服务器的资源这样搭配是比较好的。

3.CPU的问题
与内存持续走高正好相反的是,对iis的应用程序池适当限制,可以控制CPU即使在峰值的时候也不会太高,现在当前时间是19:47 算是访问量开始变高的时候,我监测几台服务器的CPU使用率,均在40%徘徊。如果访问量在大一点,也就百分之六七十。曾经有一个自认为资深的朋友对这个服务器配置嗤之以鼻,认为根本不能用。但是他却忽略了两点:第一、倘若流量达到一定程度,是没有必要还跟人合租服务器的。其二、服务器的配置如果提高,相应的租赁的用户所要承担的费用则也要提高。但是不得不说的是,在这个配置的CPU,在备份mysql数据的时候,常常要占用相当高的CPU,我曾经在自己的机器上备份mysql数据,如果数据量过大,我个人的机器都几乎处于当机状态。(个人电脑P4 2.4G 1G内存)。所以,必须承认,这个配置的服务器,在论坛数据备份的时候,常常会出现问题。解决的办法就是用单独的应用程序池来做一个phpmyadmin站点,不限CPU使用,来解决问题。好在其一,倘若你的论坛数据库好几百兆,而你又是合租服务器,那么你没有必要天天去备份,如果那样,两三天之后,你的服务器空间就让备份文件占据完了。

4.服务器对用户流量等限制的问题
开始的时候,也想让大家用的爽,用得自在,所以也不愿意做任何限制,不限制iis,不限制cpu,不限之内存等等,但是后来才发现,就好像这个天底下的任何地方一样,不自觉的人总是太多,而且有的人程序出问题之后可能影响到其他人。所以到最后只是得到一个这样的结论对服务器不做任何限制是一个天大的谎言,那是不可能的。所以最理想的方法是建立独立的应用程序池,然后每一个用户占用一个应用程序池,在进行对CPU份额、内存使用、带宽占用的限制。服务器上20个用户,我一般限制每一个人最高8%的CPU,如果你去计算8%*20=160%,那无疑你是愚蠢的。一个服务器上的站点总是有大有小,而且,也基本不可能在同一瞬间都达到各自的峰值。所以有些小用户可能cpu永远也就1% 2%

5.服务器空间的小,5G = 10G = 20G
空间大可以说是合租服务器最大的亮点,但事实上,这个亮点也有值得商榷的地方,标榜的网络空间大也是服务器合租最大的幌子。常常有人问我单租不单租1G的空间。我都是一口拒绝,其实,磁盘空间只是一个幌子而已,因为可以说没有几个人用得了那么大的空间,给你1G的空间,但是你的cpu和内存份额仍然是一样,这有什么意义呢?其实可以说你跟5G的用户享受了一样的待遇。真正决定服务器合租价格的是分配给你的CPU和内存,而不是空间大小 所以如果你问我1G怎么卖,我会告诉你 Never. 但是如果你说空间可以不可以多给你几G,我会告诉你,No problem. 同样的CPU,同样的内存,如果我要1G单卖,1G300吧。但是我已知的成本固定,那么这就意味着我需要更多的用户才能拿回成本,那么,是否意味着你所使用的CPU份额就要更低呢?可以说零售小额空间,是某种程度上对合租用户权益的侵害。

6.电信网通双线以及相关问题
很多用户希望有一个双线机房,这样就能保证南北方访问的速度都很快,众所周知,当今中国ISP天下,南方电信北方网通,间或又有移动、铁通等也能够提供ISP接入服务。网络之间的互访互连速度慢,这是举国尽知的事实。如果是电信机房,是不敢打包票说网通的用户访问也能够如同电信用户一样快的,而作为网通机房,电信的用户去访问,那速度也是要比网通自己的用户去访问打一个折扣。应该说对于相关业务的具体内涵,本人也就是略知一二,曾和一个专门搞IDC的朋友谈,说及双线机房,他告诉我:双线机房都是个人搞的小机房,真正的骨干级机房,是不可能搞双线的,如果那样,还存在什么互联互通的问题?思索一二,也觉得有些道理。然后便访网上的主流IDC,确实难觅双线机房的踪迹。

7.合租服务器价格
一台普通的服务器租赁的一年的费用一般在1万元左右,便宜的可能在八九千,再低我就要对他的服务质量——譬如机器的性能,网络服务的质量产生怀疑了。因为这个价格是很容易计算出来的。服务器托管一年的费用一般在四千左右,如果一台机器一年送产权,莫非一台机器只价值2000元?一个P4 3.0 64位CPU的价钱大家都可以查得到。一般来说都是第二年送产权。很多合租者所看重的则是这个产权。而用户则是看中的便宜,空间大。组织有信誉的、值得信赖的合租,双方受益,反之则都彼此头疼不已。想要让服务器稳定的运行,并不是一件太简单的事情,经验的积累和自身的技术同样重要,两者不可或缺。

无觅相关文章插件,快速提升流量