存档在 2015年12月

Rebel.com公司情况

2015年12月25日

其母公司拥有:

DomainsAtCost.com 域名/主机分销?

Pool.com 域名抢注

Internic.ca ?

Rebel.com 域名零售

NameScout.com 域名零售

怎样让CentOS支持RAR

2015年12月23日

编译安装

下载:http://www.rarsoft.com/download.htm

wget http://www.rarsoft.com/rar/rarlinux-x64-5.3.0.tar.gz && tar -zxvf rarlinux-x64-5.3.0.tar.gz && cd rar && make

如果报错:

-bash: /usr/local/bin/rar: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

解决办法:

cp rar_static /usr/local/bin/rar
cp: overwrite `/usr/local/bin/rar'? y

解压命令

无密码的RAR包:

rar x package.rar

有密码的RAR包:

unrar e -p package.rar

会提示输入密码:

Enter password (will not be echoed):

输入密码后回车,会提示再次输入密码:

Reenter password:

再次输入密码后回车即进行解压。

报错:PHP Warning: strpos(): Empty needle

2015年12月16日

当不能连接WHOIS服务器时,报错:

PHP Warning:  strpos(): Empty needle in /.../whois.php on line 15

找到那一行PHP代码:

if( strpos($this->m_data[0], $this->m_serversettings[$this->m_servers[0]]['available']) === false ){

修改为:

if( ! empty($this->m_serversettings[$this->m_servers[0]]['available'] && strpos($this->m_data[0], $this->m_serversettings[$this->m_servers[0]]['available']) !== false) {
if (strpos($referrer['host'], $searcher) !== false) {
if ( ! empty($searcher) && strpos($referrer['host'], $searcher) !== false) {

A bunch of PHP search functions use the terms “needle” and “haystack” as their parameter names, indicating what is sought and where to seek it.

The strpos function is such a function. “Empty needle” means that you have passed in a null or empty value as the needle to look for. This is like saying “search for nothing” which doesn’t make sense to the function.

To fix this, check that the variable that you’re passing in as the needle has an actual value. The empty function is a good choice for that.

样例:

function akpc_is_searcher() {
        global $akpc;
        $referrer = parse_url($_SERVER['HTTP_REFERER']);
        $searchers = explode(' ', preg_replace("\n|\r|\r\n|\n\r", ' ', $akpc->searcher_names));
        foreach ($searchers as $searcher) {
                if (strpos($referrer['host'], $searcher) !== false) {
                        return true;
                }
        }
        return false;
}

修改为:

function akpc_is_searcher() {
        global $akpc;
        $referrer = parse_url($_SERVER['HTTP_REFERER']);
        $searchers = explode(' ', preg_replace("\n|\r|\r\n|\n\r", ' ', $akpc->searcher_names));
        foreach ($searchers as $searcher) {
                if ( ! empty($searcher) && strpos($referrer['host'], $searcher) !== false) {
                        return true;
                }
        }
        return false;
}

参考:《Warning: strpos(): Empty needle in …wordpress Plugin》
参考:《PHP – What does Warning: strpos() [function.strpos]: Empty delimiter in mean?》

怎样设置Apache的配置文件httpd.conf

2015年12月16日

参考资料:http://www.cnblogs.com/sunky/articles/1409267

腾出手了,逐条确认。

Apache 的 httpd.conf 详解:


#
# Apache服务器主配置文件. 包括服务器指令的目录设置.
# 详见 <URL:http://www.apache.org/docs/>
#
# 请在理解用途的基础上阅读各指令。
#
# 再读取此文档后,服务器将继续搜索运行
# E:/Program Files/Apache Group/Apache/conf/srm.conf
# E:/Program Files/Apache Group/Apache/conf/access.conf
# 除非用ResourceConfig或AccessConfig覆盖这儿的标识
#
# 配置标识由三个基本部分组成:
# 1. 作为一个整体来控制Apache服务器进程的标识 (the 'global environment').
# 2. 用于定义主(默认)服务器参数的标识。
#     响应虚拟主机不能处理的请求。
#     同时也提供所有虚拟主机的设置值。
# 3. 虚拟主机的设置。在一个Apache服务器进程中配置不同的IP地址和主机名。
#
# 配置和日志文件名:指定服务器控制文件命名时,
# 以 "/" (或 "drive:/" for Win32)开始,服务器将使用这些绝对路径。
# 如果文件名不是以"/"开始的,预先考虑服务器根目录--
# 因此 "logs/foo.log",如果服务器根目录是"/usr/local/apache",
# 服务器将解释为 "/usr/local/apache/logs/foo.log".
#
# 注: 指定的文件名需要用"/"代替"\"。
# (例, "c:/apache" 代替 "c:\apache").
# 如果省略了驱动器名,默认使用Apache.exe所在的驱动器盘符
# 建议指定盘符,以免混乱。
#


### 部分 1: 全局环境
#
# 本部分的表示将影响所有Apache的操作
# 例如,所能处理的并发请求数或配置文件地址
#


#
# ServerType 可取值 inetd 或 standalone. Inetd 只适用于Unix平台
#
ServerType standalone


#
# ServerRoot: 目录树的根结点。服务器配置、出错信息、日志文件都保存在根目录下。
#
# 不要再目录末尾加"/"
#
ServerRoot "C:/Program Files/Apache Group/Apache"


#
# PidFile: 服务器用于记录启动时进程ID的文件。
#
PidFile logs/httpd.pid


#
# ScoreBoardFile: 用于保存内部服务器进程信息的文件。
# 并非必须。 但是如果指定了(此文件当运行Apache时生成)
# 那么必须确保没有两个Apache进程共享同一个scoreboard文件。
#
ScoreBoardFile logs/apache_runtime_status


#
# 在标准配置下,服务器将顺序读取 httpd.conf(此文件可通过命令行中-f参数指定),
# srm.conf 和 access.conf。
# 目前后两个文件是空的。为了简单起见,建议将所有的标识放在一个文件中。
# 以下两条注释的标识,是默认设置。
# 要让服务器忽略这些文件可以用 "/dev/null" (for Unix)
# 或"nul" (for Win32) 作为参数。
#
#ResourceConfig conf/srm.conf
#AccessConfig conf/access.conf


#
# Timeout: 接受和发送timeout的时间
#
Timeout 300


#
# KeepAlive: 是否允许保持连接(每个连接有多个请求)
# "Off" -无效
#
KeepAlive On


#
# MaxKeepAliveRequests: 每个连接的最大请求数。
# 设置为0表示无限制
# 建议设置较高的值,以获得最好的性能。
#
MaxKeepAliveRequests 100


#
# KeepAliveTimeout: 同一连接同一客户端两个请求之间的等待时间。
#
KeepAliveTimeout 15


#
# 在Win32下,Apache每次产生一个子进程来处理请求。
# 如果这个进程死了,会自动产生另一个子进程。
# 所有的进入请求在子进程中多线程处理。
# 以下两个标识控制进程的运行
#


#
# MaxRequestsPerChild: 每个子进程死亡之前最大请求数
# 如果超过这个请求数,子程序会自动退出,避免延期使用导致内存溢出或其他问题。
# 大部分系统,并不需要此设置,
# 但是部分,象Solaris,确实值得注意。
# 对Win32, 可设置为0 (无限制)
# 除非有另外的考虑。
#
# 注: 此值不包括在每个连接初始化请求后,"keptalive"请求
#       例如, 如果一个子进程处理一个初始化请求和10个后续"keptalive"请求,
#       在这个限制下,只会记为一个请求。
#
MaxRequestsPerChild 0


#
# ThreadsPerChild: 服务器所允许的并发线程数。
# 此值的设置取决于服务器的响应能力(约多的请求在同一时间激活,则每个请求的处理时间越慢)
# 和服务器所允许消耗的系统资源。
#
ThreadsPerChild 50


#
# Listen: 允许将Apache绑顶到指定的IP地址和端口,作为默认值的辅助选项。
# 参见 <VirtualHost>
#
#Listen 3000
#Listen 12.34.56.78:80


#
# BindAddress: 通过此选项可支持虚拟主机。
# 此标识用于告诉服务器监听哪个IP地址。
# 包括:"*", IP地址, 或域名.
# 参见 <VirtualHost> 和 Listen directives.
#
BindAddress 166.111.178.144


#
# Apache模块编译成标准的Windows结构。
#
# 以下模块绑定到标准的Apache二进制windows分布。
# 要修改标准操作,取消以下行的注释并且修改指定模块列表。
#
# 警告:这是高级选项。可能导致服务器崩溃。
# 没有专家的指导,不要轻易修改。
#
#ClearModuleList
#AddModule mod_so.c mod_mime.c mod_access.c mod_auth.c mod_negotiation.c
#AddModule mod_include.c mod_autoindex.c mod_dir.c mod_cgi.c mod_userdir.c
#AddModule mod_alias.c mod_env.c mod_log_config.c mod_asis.c mod_imap.c
#AddModule mod_actions.c mod_setenvif.c mod_isapi.c


#
# 动态共享对象(Dynamic Shared Object,DSO)
#
# 要使用基于DSO的功能模块,需要替换此处相应的
# `LoadModule' 行。这样在使用之前这些包含的标识都将生效。
# 有关DSO及至的详细资料请看Apache1.3版中的README.DSOSO。
# 运行"apche -l"将列表显示Apache内奸的模块(类似标准的连接已经生效)
#
# 注:模块载入的顺序很重要。没有专家的建议,不要修改以下的顺序。
#
#LoadModule anon_auth_module modules/ApacheModuleAuthAnon.dll
#LoadModule dbm_auth_module modules/ApacheModuleAuthDBM.dll
#LoadModule digest_auth_module modules/ApacheModuleAuthDigest.dll
#LoadModule cern_meta_module modules/ApacheModuleCERNMeta.dll
#LoadModule digest_module modules/ApacheModuleDigest.dll
#LoadModule expires_module modules/ApacheModuleExpires.dll
#LoadModule headers_module modules/ApacheModuleHeaders.dll
#LoadModule proxy_module modules/ApacheModuleProxy.dll
#LoadModule rewrite_module modules/ApacheModuleRewrite.dll
#LoadModule speling_module modules/ApacheModuleSpeling.dll
#LoadModule info_module modules/ApacheModuleInfo.dll
#LoadModule status_module modules/ApacheModuleStatus.dll
#LoadModule usertrack_module modules/ApacheModuleUserTrack.dll


#
# ExtendedStatus 在服务器状态句柄被呼叫时控制是产生“完整”的状态信息(ExtendedStatus On)
# 还是仅返回基本信息(ExtendedStatus Off)
# 默认是:Off
#
#ExtendedStatus On


### 部分 2: 主服务器配置
#
# 此部分的标识用于主服务器所有的设置值,
# 响应任何<VirtualHost>定义不处理的请求
# 这些值同时给你稍后在此文件中定义的<VirtualHost>提供默认值。
#
# 所有的标识可能会在<VirtualHost>中出现。
# 对应的默认值会被虚拟主机重新定义覆盖。
#


#
# Port: Standalone服务器监听的端口。
# 在Apache能够监听指定端口前,需要在防火墙中进行设置。
# 其它运行httpd的服务器也可能影响此端口。 Disable
# 如果遇到问题,请关闭所有的防火墙、安全保护和其他的服务。
# Windos NT的"NETSTAT -a"指令会有助于问题的分析。
#
Port 80


#
# ServerAdmin: 你的地址。如果服务器有任何问题将发信到这个地址。
# 这个地址会在服务器产生的某些页面中出现,例如,错误报告。
#
ServerAdmin chenyl98@mails.tsinghua.edu.cn


#
# ServerName 允许设置主机名。如果与程序获得的不同,主机名将返回客户端。
# (例如,用"www"代替主机真实的名字)
#
# 注: 主机名不能随便指定。必须是你的机器有效的DNS名称。否则无法正常工作。
# 如果不能理解,倾向你的网络管理员询问。
# 如果你的主机没有注册DNS名,可在此输入IP地址。
# 此时必须用IP地址来访问。(如, http://123.45.67.89/)
# 这样扔可以完成重新定向的工作。
#
# 127.0.0.1 是TCP/IP的本地环路地址, 通常命名为localhost.
# 机器默认此地置为本身。 如果只是使用Apache来进行本地测试和开发,
# 可使用127.0.0.1 作为服务器名.
#
#ServerName new.host.name



#
# DocumentRoot: 放置服务文档的目录。
# 默认状态下,所有的请求都以这个目录为基础。
# 但是直接符号连接和别名可用于指向其他位置。
#
DocumentRoot "D:/www_root"


#
# Apache访问的每个目录可设置相关的服务和特性是允许或(和)不允许。
# (同样影响其子目录)
#
# 首先,设置"default"地址只有最基本的权限。
#
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>


#
# 注意从现在开始必须制定开启特殊的权限。
# 这样就不会产生意想不到的结果。
# 请仔细确认。
#


#
# 这个地址应与DocumentRoot保持一致
#
<Directory "D:/www_root">


#
# 此值可是: "None", "All", 或下列的组合: "Indexes",
# "Includes", "FollowSymLinks", "ExecCGI", 或 "MultiViews".
#
# 注意"MultiViews"必须明确指定--- "Options All"不包括此特性。
#
    Options Indexes FollowSymLinks MultiViews


#
# 此项控制目录中哪些.htaccess文件可覆盖。
# 允许值: "All"或者以下项的组合:"Options", "FileInfo",
# "AuthConfig", "Limit"
#
    AllowOverride None


#
# 控制哪些用户可从此服务器获得资料。
#
    Order allow,deny
    Allow from all
</Directory>


#
# UserDir: 当请求~user时,追加到用户主目录的路径地址。
#
# 在Win32下,并不要求指定为用户登陆的主目录。
# 因此可使用以下的格式。
# 详细参照文档UserDir
#
<IfModule mod_userdir.c>
    UserDir "f:/homepages/"
</IfModule>


#
# 控制访问UserDir目录. The following is an example
# 以下是一个站点的例子,权限限制为只读。
#
#<Directory "E:/Program Files/Apache Group/Apache/users">
#    AllowOverride FileInfo AuthConfig Limit
#    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
#    <Limit GET POST OPTIONS PROPFIND>
#        Order allow,deny
#        Allow from all
#    </Limit>
#    <LimitExcept GET POST OPTIONS PROPFIND>
#        Order deny,allow
#        Deny from all
#    </LimitExcept>
#</Directory>


#
# DirectoryIndex: 预设的HTML目录索引文件名。
# 用空格来分隔多个文件名。
#
<IfModule mod_dir.c>
    DirectoryIndex index
</IfModule>


#
# AccessFileName: 每个目录中用于控制访问信息的文件名。
#
AccessFileName .htaccess


#
# 以下行防止客户端可访问 .htaccess 文件。
# 因为 .htaccess文件通常包含授权信息,
# 处于安全的考虑不允许访问。
# 如果想让访客看到.htaccess文件的内容,
# 可将这些行注释。
# 如果修改了上面的AccessFileName,
# 请在此进行相应的修改。
#
# 同时,一般会用类似.htpasswd的文件保存密码。
# 这些文件同样可以得到保护。
#
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>


#
# CacheNegotiatedDocs: 默认下,Apache对每个文档发送"Pragma: no-cache"
# 这将要求代理服务器不缓存此文档。
# 取消下列行的可取消这个属性,这样代理服务器将缓存这些文档。
#
#CacheNegotiatedDocs


#
# UseCanonicalName: (1.3新增) 当此设置为on时,
# 无论何时Apache需要构建一个自引用的URL(指向响应来源服务器),
# 它将用ServerName和Port来构建一个规范的格式。
# 当此设置为off时,Apache将使用客户端提供的"主机名:端口"
# 这将同时影响CGI脚本中的SERVER_NAME和SERVER_PORT
#
UseCanonicalName On


#
# TypesConfig 记录媒体类型(mime.types)文件或类似的东东放置的位置
#
<IfModule mod_mime.c>
    TypesConfig conf/mime.types
</IfModule>


#
# DefaultType 是服务器处理未确认类型的文件,如为止的扩展名,的默认类型。
# 如果你的服务器上主要包含的是文本或HTML文档,"text/plain"是较好的设置
# 如果服务器上主要包含二进制文件,如应用程序或图片,
# 最好设置成"application/octet-stream"防止浏览器将二进制文件以文本的方式显示。
#
DefaultType text/plain


#
# mod_mime_magic模块允许服务器使用文件自身的不同标识来确定文件类型。
# MIMEMagicFile指示模块文件标识的定义所在的位置。
# mod_mime_magic不是默认服务器的一部分。
# (必须自行用LoadModule来追加 [见'全局环境'部分的 DSO 章节],
# 或者在编译服务器时包含mod_mime_magic部分)
# 包含在 <IfModule> 中.
# 就是说,如果该模块是服务器的一部分,MIMEMagicFile标识将执行。
#
<IfModule mod_mime_magic.c>
    MIMEMagicFile conf/magic
</IfModule>


#
# HostnameLookups: 注册客户端的机器名或IP地址。
# 例如: www.apache.org (on) 或 204.62.129.132 (off).
# 默认为off,因为对于网络来说,最好让人们有意识的设置为on,
# 因为开启此功能意味着每个客户请求将导致至少向name服务器发送一个lookup请求
#
HostnameLookups Off


#
# ErrorLog: 错误记录文件的地址
# 如果不在<VirtualHost>内指定ErrorLog
# 改虚拟主机的错误心细将记录到此处。
# 如果在<VirtualHost>中明确指定了错误记录文件,
# 则错误将记录在那儿而不是这儿。
#
ErrorLog logs/error.log


#
# LogLevel: 控制记录在error.log中信息的个数.
# 可能的值:debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn


#
# 以下标识定义CustomLog标识使用的格式。(见下)
#
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent


#
# 访问记录的位置和格式 (功用的记录文件格式).
# 如果不在<VirtualHost>中定义记录文件,
# 那些访问记录就将保存在这儿。 Contrariwise, if you *do*
# 反之,如果指定了记录文件,那么访问记录将记录在那儿而不是这个文件中。
#
CustomLog logs/access.log common


#
# 如果希望使用代理和参考的记录文件, 取消以下标识的注释符
#
#CustomLog logs/referer.log referer
#CustomLog logs/agent.log agent


#
# 如果想在一个文件中记录访问、代理、参考信息(复合的记录格式)
# 可使用以下标识
#
#CustomLog logs/access.log combined


#
# 在服务器产生的页面(如错误文档信息,FTP目录列表等等,不包括CGI产生的文档)中
# 增加一条服务器版本和虚拟主机名的信息。
# 设置为"EMail"将包含mailto: ServerAdmin的连接.
# 可选值: On | Off | EMail
#
ServerSignature On


#
# 默认下,Apache用工作行解析所有CGI脚本
# 此注释行(脚本的第一行)包括'#'和'!'后面跟着执行特殊脚本的程序路径,
# 对perl脚本来说是C:\Program Files\Perl目录中的perl.exe。
# 工作行如下:


   #!c:/program files/perl/perl


# 注意真实的工作行不能有缩进,必须是文件的第一行。
# 当然,CGI进程必须通过适当的scriptAlias或ExecCGI选项标识来启动。
#
# 然而,Windows下的Apache即允许以上的Unix方式,也可以通过注册表的形式。
# 用注册表执行文件的方法同在Windows资源管理器中双击运行的注册方法相同。
# 此脚本操作可在Windows资源管理器的“查看”菜单中设置。
# “文件夹选项”,然后查看“文件类型”。点击编辑按钮。
# 修改操作属性。Apache 1.3会尝试执行‘Open'操作,
# 如果失败则会尝试工作行
# 这个属性在Apache release 2.0中会有改变.
#
# 每个机制都有自身特定的安全弱点,这样可能导致别人运行你不希望调用的程序。
# 最佳的解决方案还在讨论中。
#
# 要是这个Windows的特殊属性生效 (同时会是Unix属性无效)
# 取消下列标识的注释符。
#
#scriptInterpreterSource registry
#
# 上面的标识可在<Directory>块或.htaccess文件中单独替换。
# 可选择'registry' (Windows behavior)或 'script'
# (Unix behavior) option, 将覆盖服务器的默认值。
#


#
# Aliases: 可无限制的追加别名。格式如下:
# Alias 假名 真名
#
<IfModule mod_alias.c>


    #
    # 注意如果假名中包含'/',服务器会在当前URL中发出请求。
    # 因此"/icons"不能用于别名
    # 必须用 "/icons/"..
    #
    Alias /icons/ "C:/Program Files/Apache Group/Apache/icons/"


    <Directory "C:/Program Files/Apache Group/Apache/icons">
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>


    #
    # scriptAlias: 控制哪个目录包含服务器脚本。
    # scriptAlias本质行和Aliases一样。, except that
    # 区别在于真名目录中的文档被看作是一个应用程序。
    # 请求时由服务器运行而不是发往客户端。
    # "/"符号的规则同
    # Alias相同.
    #
    scriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache/cgi-bin/"


    #
    # "C:/Program Files/Apache Group/Apache/cgi-bin" 可修改为任何放置CGI脚本的目录
    #
    <Directory "C:/Program Files/Apache Group/Apache/cgi-bin">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
    </Directory>


</IfModule>
# 别名结束


#php脚本说明


scriptAlias /php/ "d:/php/"
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .phtml
Action application/x-httpd-php "/php/php.exe"


#php脚本说明结束


#
# Redirect 允许告诉客户端服务器上曾经有的文档,但是现在不存在了。
# 并且可以告诉客户端到哪儿去寻找。
# 格式: Redirect old-URL new-URL
#


#
# 控制服务器目录列表显示的标识
#
<IfModule mod_autoindex.c>


    #
    # FancyIndexing标识是使用特定的目录检索还是标准的(standard)
    #
    IndexOptions FancyIndexing


    #
    # AddIcon*表明不同文件或扩展名显示的图标。
    # 这些图标只在特定检索状态下显示。
    #
    AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip


    AddIconByType (TXT,/icons/text.gif) text/*
    AddIconByType (IMG,/icons/image2.gif) image/*
    AddIconByType (SND,/icons/sound2.gif) audio/*
    AddIconByType (VID,/icons/movie.gif) video/*


    AddIcon /icons/binary.gif .bin .exe
    AddIcon /icons/binhex.gif .hqx
    AddIcon /icons/tar.gif .tar
    AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
    AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
    AddIcon /icons/a.gif .ps .ai .eps
    AddIcon /icons/layout.gif  .shtml .htm .pdf
    AddIcon /icons/text.gif .txt
    AddIcon /icons/c.gif .c
    AddIcon /icons/p.gif .pl .py
    AddIcon /icons/f.gif .for
    AddIcon /icons/dvi.gif .dvi
    AddIcon /icons/uuencoded.gif .uu
    AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
    AddIcon /icons/tex.gif .tex
    AddIcon /icons/bomb.gif core


    AddIcon /icons/back.gif ..
    AddIcon /icons/hand.right.gif README
    AddIcon /icons/folder.gif ^^DIRECTORY^^
    AddIcon /icons/blank.gif ^^BLANKICON^^


    #
    # DefaultIcon 用于为制定图标的文件所显示的图标。
    #
    DefaultIcon /icons/unknown.gif


    #
    # AddDescription在服务器生成的检索的某个文件后追加小段说明。
    # 此项只在设置为FancyIndexed时有效
    # 格式:AddDescription "描述" 文件名
    #
    #AddDescription "GZIP compressed document" .gz
    #AddDescription "tar archive" .tar
    #AddDescription "GZIP compressed tar archive" .tgz


    #
    # ReadmeName是服务器默认的README文件。
    # 并且会追加到目录列表的最后。
    #
    # HeaderName 是目录中需要预先显示内容的文件名。
    #
    # 如果MultiViews在选项中,作为结果,服务器将先找name,
    # 如果存在就包含它。如果name不存在,
    # 服务器会继续寻找name.txt。如果存在就作为纯文本包含进来。
    #
    ReadmeName README
    HeaderName HEADER


    #
    # IndexIgnore是一系列的文件名。目录索引将忽略这些文件并且不包含在列表中。
    # 允许使用通配符。
    #
    IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t


</IfModule>
# indexing标识结束


#
# 文件类型
#
<IfModule mod_mime.c>


    #
    # AddEncoding 可用于特殊浏览器(Mosaic/X 2.1+)快速传输压缩信息。
    # 注:并不是所有的服务器都支持。
    # 除了名字相似,以下Add*标识对上面的FancyIndexing定制标识无影响。
    #
    AddEncoding x-compress Z
    AddEncoding x-gzip gz tgz
    #
    # AddLanguage用于指定文档的语言。
    # 可以使用content标签指定每个文件的语言。
    #
    # 注 1: 后缀不必与所用语言的关键字相同。
    #   --- 波兰语(Polish,标准代码为pl)的文档可以用
    # "AddLanguage pl .po" 来避免与perl脚本文件混淆。
    #
    # 注 2: 以下例子表明两个字母的语言缩写和两个字母的国家缩写并不一定相同。
    # E.g. 'Danmark/dk' 对比 'Danish/da'.
    #
    # 注 3: 其中'ltz'使用了三个字符,与RFC的规定不同。
    # 但是这个问题正在修订中,并且重新清理RFC1766
    #
    # 丹麦Danish (da) - 荷兰Dutch (nl) - 英国English (en) - 爱萨尼亚Estonian (ee)
    # 法国French (fr) - 德国German (de) - 现代希腊文Greek-Modern (el)
    # 意大利Italian (it) - 朝鲜Korean (kr) - 挪威Norwegian (no)
    # 葡萄牙Portuguese (pt) - 卢森堡Luxembourgeois* (ltz)
    # 西班牙Spanish (es) - 瑞典Swedish (sv) - 加泰罗尼亚Catalan (ca) - 捷克Czech(cz)
    # 波兰Polish (pl) - 巴西Brazilian Portuguese (pt-br) - 日本Japanese (ja)
    # 俄国Russian (ru)
    #
    AddLanguage da .dk
    AddLanguage nl .nl
    AddLanguage en .en
    AddLanguage et .ee
    AddLanguage fr .fr
    AddLanguage de .de
    AddLanguage el .el
    AddLanguage he .he
    AddCharset ISO-8859-8 .iso8859-8
    AddLanguage it .it
    AddLanguage ja .ja
    AddCharset ISO-2022-JP .jis
    AddLanguage kr .kr
    AddCharset ISO-2022-KR .iso-kr
    AddLanguage no .no
    AddLanguage pl .po
    AddCharset ISO-8859-2 .iso-pl
    AddLanguage pt .pt
    AddLanguage pt-br .pt-br
    AddLanguage ltz .lu
    AddLanguage ca .ca
    AddLanguage es .es
    AddLanguage sv .se
    AddLanguage cz .cz
    AddLanguage ru .ru
    AddLanguage tw .tw
    AddCharset Big5         .Big5    .big5
    AddCharset WINDOWS-1251 .cp-1251
    AddCharset CP866        .cp866
    AddCharset ISO-8859-5   .iso-ru
    AddCharset KOI8-R       .koi8-r
    AddCharset UCS-2        .ucs2
    AddCharset UCS-4        .ucs4
    AddCharset UTF-8        .utf8


    # LanguagePriority 可设置语言的优先级。
    #
    # 优先级降序排列
    # 在此处按照字母顺序,可自行修改
    #
    <IfModule mod_negotiation.c>
        LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
    </IfModule>


    #
    # AddType 可临时改变mime.types或者指定特殊文件的格式。
    #
    # 例如:PHP 3.x 模块 (非Apache标准配件,参见http://www.php.net)可用下面格式定义:
    #
    #AddType application/x-httpd-php3 .php3
    #AddType application/x-httpd-php3-source .phps
    #
    # PHP 4.x, 使用:
    #
    #AddType application/x-httpd-php .php
    #AddType application/x-httpd-php-source .phps


    AddType application/x-tar .tgz


    #
    # AddHandler 可将特定文件扩展名映射到处理方法上。
    # 与文件类型无关。此特性可内建到服务器中或者追加在操作指令中(见下)
    #
    # 如果希望用服务器端应用或scriptAliased外的CGI,取消以下行的注释符
    #
    # 用CGI脚本:
    #
    #AddHandler cgi-script .cgi


    #
    # 用服务器解析的HTML文档
    #
    #AddType text/html .shtml
    #AddHandler server-parsed .shtml


    #
    # 取消以下注释符可激活Apache的send-asis HTTP file特性
    #
    #AddHandler send-as-is asis


    #
    # 如果使用服务器端解析的图像定位文件,使用以下标识:
    #
    #AddHandler imap-file map


    #
    # 要激活type maps使用:
    #
    #AddHandler type-map var


</IfModule>
# 文档类型说明结束


#
# Action 定义在文件匹配时执行相应的脚本。
# 可简化常用CGI文件的调用。
# 格式: Action media/type /cgi-script/location
# 格式: Action handler-name /cgi-script/location
#


#
# MetaDir: 指定保存meta信息文件的目录。
# 这些文件包含附加的HTTP头,在发送文档是一并发送。
#
#MetaDir .web


#
# MetaSuffix: 指定包含meta信息的文件的后缀。
#
#MetaSuffix .meta


#
# 可定制的错误响应(Apache类型)
# 共三种风格:
#
#    1) 纯文本
#ErrorDocument 500 "The server made a boo boo.
# 注: 第一个"号用于表示是文本,实际不输出
#
#    2) 本地重定向
#ErrorDocument 404 /missing
# to redirect to local URL /missing
#ErrorDocument 404 /cgi-bin/missing_handler.pl
# 注:可重定向到任何一个服务器端的脚本或文档
#
#    3) 外部重定向
#ErrorDocument 402 http://some.other_server.com/subscription_info
# 注: 大部分与初始请求关联的环境变量对这样的脚本无效。
#


#
# 基于浏览器的定制操作
#
<IfModule mod_setenvif.c>


    #
    # 以下标识修改普通的HTTP响应操作。
    # 第一个标识针对Netscape2.x和其他无此功能的浏览器取消保持激活状态的功能
    # 这些浏览器在执行这些功能时会出错。
    # 第二个标识针对IE4.0b2设置。其中有一条不完整的HTTP/1.1指令
    # 在301或302(重定向)响应时不能正确的保持激活状态
    #
    BrowserMatch "Mozilla/2" nokeepalive
    BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0


    #
    # 下面的标识通过不产生基本的1.1响应取消对违反HTTP/1.0标准的浏览器的响应。
    #
    BrowserMatch "RealPlayer 4\.0" force-response-1.0
    BrowserMatch "Java/1\.0" force-response-1.0
    BrowserMatch "JDK/1\.0" force-response-1.0


</IfModule>
# 浏览器定制标识结束


#
# 允许使用URL"http://servername/server-status"的形式查看服务器状态报告
# 修改 ".your_domain.com"来匹配相应的域名以激活此功能
#
#<Location /server-status>
#    SetHandler server-status
#    Order deny,allow
#    Deny from all
#    Allow from .your_domain.com
#</Location>


#
# 允许使用URL"://servername/server-info"(要求加载mod_info.c),
# 来远程察看服务器配置报告。
# 修改 ".your_domain.com"来匹配相应的域名以激活此功能
#
#<Location /server-info>
#    SetHandler server-info
#    Order deny,allow
#    Deny from all
#    Allow from .your_domain.com
#</Location>


#
# 据报有人试图利用一个老的1.1漏洞。
# 这个漏洞与CGI脚本在Apache服务器上分布有关。
# 通过取消下面几行的注释符,可以将此类攻击记录转移到phf.apache.org上的记录脚本上。
# 或者也可以利用脚本scriptsupport/phf_abuse_log.cgi记录在本地服务器上。
#
#<Location /cgi-bin/phf*>
#    Deny from all
#    ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi
#</Location>


#
# 代理服务器标识。取消下列行的注释符可激活代理服务器。
#
#<IfModule mod_proxy.c>
#    ProxyRequests On


#    <Directory proxy:*>
#        Order deny,allow
#        Deny from all
#        Allow from .your_domain.com
#    </Directory>


    #
    # 激活/取消处理HTTP/1.1 "Via:" 报头
    # ("Full":加入服务器版本; "Block":取消所有外发的Via: 报头)
    # 可设置值: Off | On | Full | Block
    #
#    ProxyVia On


    #
    # 可修改下列各行并取消注释符来激活缓存。
    # (没有CacheRoot标识就不使用缓存)
    #
#    CacheRoot "E:/Program Files/Apache Group/Apache/proxy"
#    CacheSize 5
#    CacheGcInterval 4
#    CacheMaxExpire 24
#    CacheLastModifiedFactor 0.1
#    CacheDefaultExpire 1
#    NoCache a_domain.com another_domain.edu joes.garage_sale.com


#</IfModule>
# 代理标识结束


### 部分 3: 虚拟主机
#
# 虚拟主机: 如果希望在一台服务器上实现多个域名和主机名的服务,
# 可设置VirtualHost来实现。Most configurations
# 大部分的设置使用基于名称的虚拟主机,这样服务器就不必为IP地址操心。
# 这些用星号在下面的标识中标出。
#
# 在试图设置虚拟主机前
# 请阅读<URL:http://www.apache.org/docs/vhosts/>中的文档。
# 以了解细节问题。
#
# 可用命令行参数 '-S'来确认虚拟主机的设置。
#


#
# 使用基于名称的虚拟主机
#
#NameVirtualHost *


#
# 虚拟主机实例:
# 几乎所有的Apache标识都可用于虚拟主机内。
# 第一个VirtualHost部分用于申请一个无重复的服务器名。
#
#<VirtualHost *>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

怎样设置MySQL5的配置文件my.cnf

2015年12月16日

my.cnf原始配置文件的详细解读:

本配置文件针对MySQL 5.5.x 稳定版。


    # 以下选项会被MySQL客户端应用读取。
    # 注意只有MySQL附带的客户端应用程序保证可以读取这段内容。
    # 如果你想你自己的MySQL应用程序获取这些值。
    # 需要在MySQL客户端库初始化的时候指定这些选项。

    # [client] #password = [your_password]
    port = @MYSQL_TCP_PORT@
    socket = @MYSQL_UNIX_ADDR@

    # *** 应用定制选项 ***

    # #  MySQL 服务端
    # [mysqld]

    # 一般配置选项
    port = @MYSQL_TCP_PORT@
    socket = @MYSQL_UNIX_ADDR@

    # back_log 是操作系统在监听队列中所能保持的连接数,
    # 队列保存了在MySQL连接管理器线程处理之前的连接.
    # 如果你有非常高的连接率并且出现”connection refused” 报错,
    # 你就应该增加此处的值. # 检查你的操作系统文档来获取这个变量的最大值.
    # 如果将back_log设定到比你操作系统限制更高的值,将会没有效果 back_log = 300

    # 不在TCP/IP端口上进行监听.
    # 如果所有的进程都是在同一台服务器连接到本地的mysqld,
    # 这样设置将是增强安全的方法
    # 所有mysqld的连接都是通过Unix sockets 或者命名管道进行的.
    # 注意在windows下如果没有打开命名管道选项而只是用此项
    # (通过 “enable-named-pipe” 选项) 将会导致mysql服务没有任何作用!
    #skip-networking

    # MySQL 服务所允许的同时会话数的上限
    # 其中一个连接将被SUPER权限保留作为管理员登录.
    # 即便已经达到了连接数的上限.
    max_connections = 3000
    # 每个客户端连接最大的错误允许数量,如果达到了此限制.
    # 这个客户端将会被MySQL服务阻止直到执行了”FLUSH HOSTS” 或者服务重启
    # 非法的密码以及其他在链接时的错误会增加此值.
    # 查看 “Aborted_connects” 状态来获取全局计数器.
    max_connect_errors = 30
    # 所有线程所打开表的数量.
    # 增加此值就增加了mysqld所需要的文件描述符的数量
    # 这样你需要确认在[mysqld_safe]中 “open-files-limit” 变量设置打开文件数量允许至少4096
    table_cache = 4096

    # 允许外部文件级别的锁. 打开文件锁会对性能造成负面影响
    # 所以只有在你在同样的文件上运行多个数据库实例时才使用此选项(注意仍会有其他约束!)
    # 或者你在文件层面上使用了其他一些软件依赖来锁定MyISAM表
    #external-locking

    # 服务所能处理的请求包的最大大小以及服务所能处理的最大的请求大小(当与大的BLOB字段一起工作时相当必要)
    # 每个连接独立的大小.大小动态增加
    max_allowed_packet = 32M

    # 在一个事务中binlog为了记录SQL状态所持有的cache大小
    # 如果你经常使用大的,多声明的事务,你可以增加此值来获取更大的性能.
    # 所有从事务来的状态都将被缓冲在binlog缓冲中然后在提交后一次性写入到binlog中
    # 如果事务比此值大, 会使用磁盘上的临时文件来替代.
    # 此缓冲在每个连接的事务第一次更新状态时被创建
    binlog_cache_size = 4M

    # 独立的内存表所允许的最大容量.
    # 此选项为了防止意外创建一个超大的内存表导致永尽所有的内存资源. max_heap_table_size = 128M

    # 排序缓冲被用来处理类似ORDER BY以及GROUP BY队列所引起的排序
    # 如果排序后的数据无法放入排序缓冲,
    # 一个用来替代的基于磁盘的合并分类会被使用
    # 查看 “Sort_merge_passes” 状态变量.
    # 在排序发生时由每个线程分配 sort_buffer_size = 16M

    # 此缓冲被使用来优化全联合(full JOINs 不带索引的联合).
    # 类似的联合在极大多数情况下有非常糟糕的性能表现,
    # 但是将此值设大能够减轻性能影响.
    # 通过 “Select_full_join” 状态变量查看全联合的数量
    # 当全联合发生时,在每个线程中分配
    join_buffer_size = 16M

    # 我们在cache中保留多少线程用于重用
    # 当一个客户端断开连接后,如果cache中的线程还少于thread_cache_size,
    # 则客户端线程被放入cache中.
    # 这可以在你需要大量新连接的时候极大的减少线程创建的开销
    # (一般来说如果你有好的线程模型的话,这不会有明显的性能提升.)
    thread_cache_size = 16

    # 此允许应用程序给予线程系统一个提示在同一时间给予渴望被运行的线程的数量.
    # 此值只对于支持 thread_concurrency() 函数的系统有意义( 例如Sun Solaris).
    # 你可可以尝试使用 [CPU数量]*(2..4) 来作为thread_concurrency的值
    thread_concurrency = 8

    # 查询缓冲常被用来缓冲 SELECT 的结果并且在下一次同样查询的时候不再执行直接返回结果.
    # 打开查询缓冲可以极大的提高服务器速度, 如果你有大量的相同的查询并且很少修改表.
    # 查看 “Qcache_lowmem_prunes” 状态变量来检查是否当前值对于你的负载来说是否足够高.
    # 注意: 在你表经常变化的情况下或者如果你的查询原文每次都不同,
    # 查询缓冲也许引起性能下降而不是性能提升.
    query_cache_size = 128M

    # 只有小于此设定值的结果才会被缓冲
    # 此设置用来保护查询缓冲,防止一个极大的结果集将其他所有的查询结果都覆盖.
    query_cache_limit = 4M

    # 被全文检索索引的最小的字长.
    # 你也许希望减少它,如果你需要搜索更短字的时候. # 注意在你修改此值之后,
    # 你需要重建你的 FULLTEXT 索引
    ft_min_word_len = 8

    # 如果你的系统支持 memlock() 函数,你也许希望打开此选项用以让运行中的mysql在在内存高度紧张的时候,数据在内存中保持锁定并且防止可能被swapping out
    # 此选项对于性能有益
    #memlock

    # 当创建新表时作为默认使用的表类型,
    # 如果在创建表示没有特别执行表类型,将会使用此值
    default_table_type = MYISAM

    # 线程使用的堆大小. 此容量的内存在每次连接时被预留.
    # MySQL 本身常不会需要超过64K的内存
    # 如果你使用你自己的需要大量堆的UDF函数
    # 或者你的操作系统对于某些操作需要更多的堆,
    # 你也许需要将其设置的更高一点.
    thread_stack = 512K

    # 设定默认的事务隔离级别.可用的级别如下:
    # READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
    transaction_isolation = REPEATABLE-READ

    # 内部(内存中)临时表的最大大小
    # 如果一个表增长到比此值更大,将会自动转换为基于磁盘的表.
    # 此限制是针对单个表的,而不是总和.
    tmp_table_size = 128M

    # 打开二进制日志功能.
    # 在复制(replication)配置中,作为MASTER主服务器必须打开此项
    # 如果你需要从你最后的备份中做基于时间点的恢复,你也同样需要二进制日志.
    log-bin=mysql-bin

    # 如果你在使用链式从服务器结构的复制模式 (A->B->C),
    # 你需要在服务器B上打开此项.
    # 此选项打开在从线程上重做过的更新的日志, # 并将其写入从服务器的二进制日志.
    #log_slave_updates

    # 打开全查询日志. 所有的由服务器接收到的查询 (甚至对于一个错误语法的查询)
    # 都会被记录下来. 这对于调试非常有用, 在生产环境中常常关闭此项.
    #log

    # 将警告打印输出到错误log文件.  如果你对于MySQL有任何问题
    # 你应该打开警告log并且仔细审查错误日志,查出可能的原因.
    #log_warnings

    # 记录慢速查询. 慢速查询是指消耗了比 “long_query_time” 定义的更多时间的查询.
    # 如果 log_long_format 被打开,那些没有使用索引的查询也会被记录.
    # 如果你经常增加新查询到已有的系统内的话. 一般来说这是一个好主意。
    log_slow_queries

    # 所有的使用了比这个时间(以秒为单位)更多的查询会被认为是慢速查询.
    # 不要在这里使用”1″, 否则会导致所有的查询,甚至非常快的查询页被记录下来(由于MySQL 目前时间的精确度只能达到秒的级别).
    long_query_time = 6

    # 在慢速日志中记录更多的信息. # 一般此项最好打开.
    # 打开此项会记录使得那些没有使用索引的查询也被作为到慢速查询附加到慢速日志里
    log_long_format

    # 此目录被MySQL用来保存临时文件.例如,
    # 它被用来处理基于磁盘的大型排序,和内部排序一样.
    # 以及简单的临时表.
    # 如果你不创建非常大的临时文件,将其放置到 swapfs/tmpfs 文件系统上也许比较好
    # 另一种选择是你也可以将其放置在独立的磁盘上.
    # 你可以使用”;”来放置多个路径
    # 他们会按照roud-robin方法被轮询使用.
    #tmpdir = /tmp

    # ***  主从复制相关的设置

    # 唯一的服务辨识号,数值位于 1 到 2^32-1之间.
    # 此值在master和slave上都需要设置.
    # 如果 “master-host” 没有被设置,则默认为1, 但是如果忽略此选项,MySQL不会作为master生效.
    server-id = 1

    # 复制的Slave (去掉master段的注释来使其生效)
    # # 为了配置此主机作为复制的slave服务器,你可以选择两种方法:
    # # 1) 使用 CHANGE MASTER TO 命令 (在我们的手册中有完整描述) –
    #    语法如下:
    # #    CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,
    #    MASTER_USER=, MASTER_PASSWORD= ;
    # #    你需要替换掉 , , 等被尖括号包围的字段以及使用master的端口号替换 (默认3306).
    # #    例子:
    # #    CHANGE MASTER TO MASTER_HOST=’125.56.12.1′, MASTER_PORT=3306, #    MASTER_USER=’joe’, MASTER_PASSWORD=’secret’;
    # # 或者
    # # 2) 设置以下的变量. 不论如何, 在你选择这种方法的情况下, 然后第一次启动复制(甚至不成功的情况下,
    #     例如如果你输入错密码在master-password字段并且slave无法连接),
    #    slave会创建一个 master.info 文件,并且之后任何对于包含在此文件内的参数的变化都会被忽略
    #    并且由 master.info 文件内的内容覆盖, 除非你关闭slave服务, 删除 master.info 并且重启slave 服务.
    #    由于这个原因,你也许不想碰一下的配置(注释掉的) 并且使用 CHANGE MASTER TO (查看上面) 来代替
    # # 所需要的唯一id号位于 2 和 2^32 – 1之间
    # (并且和master不同)
    # 如果master-host被设置了.则默认值是2
    # 但是如果省略,则不会生效 #server-id = 2
    # # 复制结构中的master – 必须 #master-host =
    # # 当连接到master上时slave所用来认证的用户名 – 必须
    #master-user =
    # # 当连接到master上时slave所用来认证的密码 – 必须
    #master-password =
    # # master监听的端口.
    # 可选 – 默认是3306
    #master-port =

    # 使得slave只读.只有用户拥有SUPER权限和在上面的slave线程能够修改数据.
    # 你可以使用此项去保证没有应用程序会意外的修改slave而不是master上的数据
    #read_only

    #*** MyISAM 相关选项

    # 关键词缓冲的大小, 一般用来缓冲MyISAM表的索引块.
    # 不要将其设置大于你可用内存的30%,
    # 因为一部分内存同样被OS用来缓冲行数据
    # 甚至在你并不使用MyISAM 表的情况下, 你也需要仍旧设置起 8-64M 内存由于它同样会被内部临时磁盘表使用. key_buffer_size = 128M

    # 用来做MyISAM表全表扫描的缓冲大小.
    # 当全表扫描需要时,在对应线程中分配.
    read_buffer_size = 8M

    # 当在排序之后,从一个已经排序好的序列中读取行时,行数据将从这个缓冲中读取来防止磁盘寻道.
    # 如果你增高此值,可以提高很多ORDER BY的性能.
    # 当需要时由每个线程分配
    read_rnd_buffer_size = 64M

    # MyISAM 使用特殊的类似树的cache来使得突发插入
    # (这些插入是,INSERT … SELECT, INSERT … VALUES (…), (…), …, 以及 LOAD DATA
    # INFILE) 更快. 此变量限制每个进程中缓冲树的字节数.
    # 设置为 0 会关闭此优化.
    # 为了最优化不要将此值设置大于 “key_buffer_size”.
    # 当突发插入被检测到时此缓冲将被分配.
    bulk_insert_buffer_size = 256M

    # 此缓冲当MySQL需要在 REPAIR, OPTIMIZE, ALTER 以及 LOAD DATA INFILE 到一个空表中引起重建索引时被分配.
    # 这在每个线程中被分配.所以在设置大值时需要小心.
    myisam_sort_buffer_size = 256M

    # MySQL重建索引时所允许的最大临时文件的大小 (当 REPAIR, ALTER TABLE 或者 LOAD DATA INFILE).
    # 如果文件大小比此值更大,索引会通过键值缓冲创建(更慢)
    myisam_max_sort_file_size = 10G

    # 如果被用来更快的索引创建索引所使用临时文件大于制定的值,那就使用键值缓冲方法.
    # 这主要用来强制在大表中长字串键去使用慢速的键值缓冲方法来创建索引.
    myisam_max_extra_sort_file_size = 10G

    # 如果一个表拥有超过一个索引, MyISAM 可以通过并行排序使用超过一个线程去修复他们.
    # 这对于拥有多个CPU以及大量内存情况的用户,是一个很好的选择. myisam_repair_threads = 1

    # 自动检查和修复没有适当关闭的 MyISAM 表.
    myisam_recover

    # 默认关闭 Federated skip-federated

    # *** BDB 相关选项 ***

    # 如果你运行的MySQL服务有BDB支持但是你不准备使用的时候使用此选项. 这会节省内存并且可能加速一些事.
    skip-bdb

    # *** INNODB 相关选项 ***

    # 如果你的MySQL服务包含InnoDB支持但是并不打算使用的话,
    # 使用此选项会节省内存以及磁盘空间,并且加速某些部分
    #skip-innodb

    # 附加的内存池被InnoDB用来保存 metadata 信息
    # 如果InnoDB为此目的需要更多的内存,它会开始从OS这里申请内存.
    # 由于这个操作在大多数现代操作系统上已经足够快, 你一般不需要修改此值.
    # SHOW INNODB STATUS 命令会显示当先使用的数量.
    innodb_additional_mem_pool_size = 64M

    # InnoDB使用一个缓冲池来保存索引和原始数据, 不像 MyISAM.
    # 这里你设置越大,你在存取表里面数据时所需要的磁盘I/O越少.
    # 在一个独立使用的数据库服务器上,你可以设置这个变量到服务器物理内存大小的80%
    # 不要设置过大,否则,由于物理内存的竞争可能导致操作系统的换页颠簸.
    # 注意在32位系统上你每个进程可能被限制在 2-3.5G 用户层面内存限制,
    # 所以不要设置的太高.
    innodb_buffer_pool_size = 6G

    # InnoDB 将数据保存在一个或者多个数据文件中成为表空间.
    # 如果你只有单个逻辑驱动保存你的数据,一个单个的自增文件就足够好了.
    # 其他情况下.每个设备一个文件一般都是个好的选择.
    # 你也可以配置InnoDB来使用裸盘分区 – 请参考手册来获取更多相关内容
    innodb_data_file_path = ibdata1:10M:autoextend

    # 设置此选项如果你希望InnoDB表空间文件被保存在其他分区.
    # 默认保存在MySQL的datadir中.
    #innodb_data_home_dir =

    # 用来同步IO操作的IO线程的数量.
    # 此值在Unix下被硬编码为4,但是在Windows磁盘I/O可能在一个大数值下表现的更好.
    innodb_file_io_threads = 4

    # 如果你发现InnoDB表空间损坏, 设置此值为一个非零值可能帮助你导出你的表.
    # 从1开始并且增加此值知道你能够成功的导出表.
    #innodb_force_recovery=1

    # 在InnoDb核心内的允许线程数量.
    # 最优值依赖于应用程序,硬件以及操作系统的调度方式. # 过高的值可能导致线程的互斥颠簸.
    innodb_thread_concurrency = 16

    # 如果设置为1 ,InnoDB会在每次提交后刷新(fsync)事务日志到磁盘上,
    # 这提供了完整的ACID行为.
    # 如果你愿意对事务安全折衷, 并且你正在运行一个小的食物, 你可以设置此值到0或者2来减少由事务日志引起的磁盘I/O # 0代表日志只大约每秒写入日志文件并且日志文件刷新到磁盘.
    # 2代表日志写入日志文件在每次提交后,但是日志文件只有大约每秒才会刷新到磁盘上.
    innodb_flush_log_at_trx_commit = 2
    (说明:如果是游戏服务器,建议此值设置为2;如果是对数据安全要求极高的应用,建议设置为1;设置为0性能最高,但如果发生故障,数据可能会有丢失的危险!默认值1的意思是每一次事务提交或事务外的指令都需要把日志写入(flush)硬盘,这是很费时的。特别是使用电池供电缓存(Battery backed up cache)时。设成2对于很多运用,特别是从MyISAM表转过来的是可以的,它的意思是不写入硬盘而是写入系统缓存。日志仍然会每秒flush到硬盘,所以你一般不会丢失超过1-2秒的更新。设成0会更快一点,但安全方面比较差,即使MySQL挂了也可能会丢失事务的数据。而值2只会在整个操作系统挂了时才可能丢数据。)

    # 加速InnoDB的关闭. 这会阻止InnoDB在关闭时做全清除以及插入缓冲合并.
    # 这可能极大增加关机时间, 但是取而代之的是InnoDB可能在下次启动时做这些操作.
    #innodb_fast_shutdown

    # 用来缓冲日志数据的缓冲区的大小.
    # 当此值快满时, InnoDB将必须刷新数据到磁盘上.
    # 由于基本上每秒都会刷新一次,所以没有必要将此值设置的太大(甚至对于长事务而言)

    innodb_log_buffer_size = 16M

    # 在日志组中每个日志文件的大小.
    # 你应该设置日志文件总合大小到你缓冲池大小的25%~100%
    # 来避免在日志文件覆写上不必要的缓冲池刷新行为.
    # 不论如何, 请注意一个大的日志文件大小会增加恢复进程所需要的时间. innodb_log_file_size = 512M

    # 在日志组中的文件总数.
    # 通常来说2~3是比较好的.
    innodb_log_files_in_group = 3

    # InnoDB的日志文件所在位置. 默认是MySQL的datadir.
    # 你可以将其指定到一个独立的硬盘上或者一个RAID1卷上来提高其性能
    #innodb_log_group_home_dir

    # 在InnoDB缓冲池中最大允许的脏页面的比例.
    # 如果达到限额, InnoDB会开始刷新他们防止他们妨碍到干净数据页面.
    # 这是一个软限制,不被保证绝对执行.
    innodb_max_dirty_pages_pct = 90

    # InnoDB用来刷新日志的方法.
    # 表空间总是使用双重写入刷新方法 # 默认值是 “fdatasync”, 另一个是 “O_DSYNC”.
    #innodb_flush_method=O_DSYNC

    # 在被回滚前,一个InnoDB的事务应该等待一个锁被批准多久.
    # InnoDB在其拥有的锁表中自动检测事务死锁并且回滚事务.
    # 如果你使用 LOCK TABLES 指令, 或者在同样事务中使用除了InnoDB以外的其他事务安全的存储引擎
    # 那么一个死锁可能发生而InnoDB无法注意到.
    # 这种情况下这个timeout值对于解决这种问题就非常有帮助.
    innodb_lock_wait_timeout = 120

    [mysqldump]
    # 不要在将内存中的整个结果写入磁盘之前缓存. 在导出非常巨大的表时需要此项 quick

    max_allowed_packet = 32M

    [mysql] no-auto-rehash

    # 仅仅允许使用键值的 UPDATEs 和 DELETEs .
    #safe-updates

    [isamchk]
    key_buffer = 2048M
    sort_buffer_size = 2048M
    read_buffer = 32M
    write_buffer = 32M

    [myisamchk]
    key_buffer = 2048M
    sort_buffer_size = 2048M
    read_buffer = 32M
    write_buffer = 32M

    [mysqlhotcopy]
    interactive-timeout

    [mysqld_safe]
    # 增加每个进程的可打开文件数量.
    # 警告: 确认你已经将全系统限制设定的足够高!
    # 打开大量表需要将此值设大
    open-files-limit = 8192

参考资料:http://www.ha97.com/4110