精华内容
下载资源
问答
  • Solr配置文件详解

    万次阅读 2017-06-14 14:20:01
    Solr配置文件位于solr/conf目录下,因各个版本的solr目录不太一致,所以下面以solr5.x或者以上版本来说明相关配置文件的参数及一些相关作用。   2 目录结构说明 官网下载solr之后解压: 目录说明: bin:Solr...

    1  概述

    Solr配置文件位于solr/conf目录下,因各个版本的solr目录不太一致,所以下面以solr5.x或者以上版本来说明相关配置文件的参数及一些相关作用。

     

    2  目录结构说明

    官网下载solr之后解压:


    目录说明:

    bin:Solr控制台管理工具存在该目录下。如:solr.cmd等。

    contrib:该文件包含大量关于Solr的扩展。分别如下:

             analysis-extras:该目录下面包含一些相互依赖的文本分析组件。

             clustering:该目录下有一个用于集群检索结果的引擎。

             dataimporthandler:DIH是Solr中一个重要的组件,该组件可以从数据库或者其他数据源导入数据到Solr中。

             dataimporthandler-extras:这里面包含了对DIH的扩展。

             extraction:集成Apache Tika,用于从普通格式文件中提取文本。

             langid:该组件使得Solr拥有在建索引之前识别和检测文档语言的能力。

             map-reduce:提供一些和Hadoop Map-Reduce协同工作的工具。

             morphlines-cell:为Solr Cell类型的功能提供KiteMorphlines的特性。

             morphlines-core:为Solr提供Kite Morphlines的特性。

             uima:该目录包含用于集成ApacheUIMA的库。

             velocity:包含一个基于Velocity模板语言简单检索UI框架。

    dist:在这里能找到Solr的核心JAR包和扩展JAR包。当我们试图把Solr嵌入到某个应用程序的时候会用到核心JAR包。

    docs:该文件夹里面存放的是Solr文档,离线的静态HTML文件,还有API的描述。

    example:包含Solr的简单示例。在其中的exampledocs子文件夹下存放着前面提到过的用于在Windows环境下发送文档到Solr的工具post.jar程序。

    licenses:各种许可和协议。

    server:Solr Core核心必要文件都存放在这里,分别如下:

             contexts:启动Solr的Jetty网页的上下文配置。

             etc:Jetty服务器配置文件,在这里可以把默认的8983端口改成其他的。

             lib:Jetty服务器程序对应的可执行JAR包和响应的依赖包。

             logs:默认情况下,日志将被输出到这个文件夹。

             modules:http\https\server\ssl等配置模块。

             resources:存放着Log4j的配置文件。这里可以改变输出日志的级别和位置等设置。

             scripts:Solr运行的必要脚本。

             solr:运行Solr的配置文件都保存在这里。solr.xml文件,提供全方位的配置;zoo.cfg文件,使用SolrCloud的时候有用。子文件夹/configsets存放着Solr的示例配置文件。每创建一个核心Core都会在server目录下生成相应的core名称目录。

             solr-webapp:Solr的平台管理界面的站点就存放在这里。

             tmp:存放临时文件。

     

    3      配置文件说明

    主要说明core中的配置文件,目录在server/solr/core name xxx/conf/目录下;

    core name xxx目录下会产生两个目录,如下:


    Data为数据索引目录;

    Conf为相关配置文件;

    Core.properties是描述信息;

     

     

    3.1     solrconfig.xml配置

     solrconfig.xml配置文件主要定义了solr的一些处理规则,包括索引数据的存放位置,更新,删除,查询的一些规则配置。相当于是基础配置文件。

     

    3.1.1   dataDir

    <dataDir>${solr.data.dir:}</dataDir>

    定义了索引数据和日志文件的存放位置

     

    3.1.2 directoryFactory

             索引存储方案,共有以下存储方案

               1、solr.StandardDirectoryFactory,这是一个基于文件系统存储目录的工厂,它会试图选择最好的实现基于你当前的操作系统Java虚拟机版本。
               2、solr.SimpleFSDirectoryFactory,适用于小型应用程序,不支持大数据和多线程。
               3、solr.NIOFSDirectoryFactory,适用于多线程环境,但是不适用在windows平台(很慢),是因为JVM还存在bug。
               4、solr.MMapDirectoryFactory,这个是solr3.1到4.0版本在linux64位系统下默认的实现。它是通过使用虚拟内存和内核特性调用

                 mmap去访问存储在磁盘中的索引文件。它允许lucene或solr直接访问I/O缓存。如果不需要近实时搜索功能,使用此工厂是个不错的方案。
               5、solr.NRTCachingDirectoryFactory,此工厂设计目的是存储部分索引在内存中,从而加快了近实时搜索的速度。
               6、solr.RAMDirectoryFactory,这是一个内存存储方案,不能持久化存储,在系统重启或服务器crash时数据会丢失。且不支持索引复制

     

     

     

    3.1.3   luceneMatchVersion

      

          <luceneMatchVersion>5.5.4</luceneMatchVersion>

      Solr版本

    3.1.4   codecFactory

          编解码工厂允许使用自定义的编解码器。例如:如果想启动per-field DocValues格式, 可以在solrconfig.xml里面设置SchemaCodecFactory:
              
    docValuesFormat="Lucene42":这是默认设置,所有数据会被加载到堆内存中。
             docValuesFormat="Disk":这是另外一个实现,将部分数据存储在磁盘上。
             docValuesFormat="SimpleText":文本格式,非常慢,用于学习。

             <codecFactoryclass="solr.SchemaCodecFactory"/>
             <schemaFactoryclass="ClassicIndexSchemaFactory"/>

     

     

    3.1.5   indexConfig

    用于设置索引的低级别的属性

    <filterclass="solr.LimitTokenCountFilterFactory"maxTokenCount="10000"/>//限制token最大长度
    <writeLockTimeout>1000</writeLockTimeout>//IndexWriter等待解锁的最长时间(毫秒)。
    <maxIndexingThreads>8</maxIndexingThreads>//
    <useCompoundFile>false</useCompoundFile>//solr默认为false。如果为true,索引文件减少,检索性能降低,追求平衡。
    <ramBufferSizeMB>100</ramBufferSizeMB>//缓存
    <maxBufferedDocs>1000</maxBufferedDocs>//同上。两个同时定义时命中较低的那个。
    <mergePolicyclass="org.apache.lucene.index.TieredMergePolicy">
    <intname="maxMergeAtOnce">10</int>
     <intname="segmentsPerTier">10</int>
    </mergePolicy>
     //合并策略。
    <mergeFactor>10</mergeFactor>//合并因子,每次合并多少个segments。
    <mergeSchedulerclass="org.apache.lucene.index.ConcurrentMergeScheduler"/>//合并调度器。
    <lockType>${solr.lock.type:native}</lockType>//锁工厂。
    <unlockOnStartup>false</unlockOnStartup>//是否启动时先解锁。
    <termIndexInterval>128</termIndexInterval>//Luceneloads terms into memory 间隔
    <reopenReaders>true</reopenReaders>//重新打开,替代先关闭-再打开。
    <deletionPolicyclass="solr.SolrDeletionPolicy">//提交删除策略,必须实现org.apache.lucene.index.IndexDeletionPolicy
    <strname="maxCommitsToKeep">1</str>
    <strname="maxOptimizedCommitsToKeep">0</str>
    <strname="maxCommitAge">30MINUTES</str> OR <strname="maxCommitAge">1DAY</str><br>   
    <infoStream  file="INFOSTREAM.txt">false</infoStream>//相当于把创建索引时的日志输出。
    <lockType>${solr.lock.type:native}</lockType>


    设置索引库的锁方式,主要有三种:

      1.single:适用于只读的索引库,即索引库是定死的,不会再更改

      2.native:使用本地操作系统的文件锁方式,不能用于多个solr服务共用同一个索引库。Solr3.6 及后期版本使用的默认锁机制。

      3.simple:使用简单的文件锁机制

     

     

    3.1.6   updateHandler

      

    <autoCommit> 
           <maxTime>${solr.autoCommit.maxTime:15000}</maxTime> 
           <openSearcher>false</openSearcher> 
         </autoCommit>
    

       

    设置索引库更新日志,默认路径为solrhome下面的data/tlog。随着索引库的频繁更新,tlog文件会越来越大,所以建议提交索引时采用硬提交方式<autoCommit>,即批量提交。 

     

    3.1.7   query

    <maxBooleanClauses>1024</maxBooleanClauses>

    设置boolean 查询中,最大条件数。在范围搜索或者前缀搜索时,会产生大量的 boolean 条件,
    如果条件数达到这个数值时,将抛出异常,限制这个条件数,可以防止条件过多查询等待时间过长。

    3.1.8   requestDispatcher

    请求转发器

     <!-- Request Dispatcher  
      主要是介绍当有请求访问SolrCore时SolrDispatchFilter如何处理。  
      handleSelect是一个以前版本中遗留下来的属性,会影响请求的对应行为(比如/select?qt=XXX)。  
     当handleSelect="true"时导致SolrDispatchFilter将请求转发给qt指定的处理器(前提是/select已经注册)。  
      当handleSelect="false"时会直接访问/select,若/select未注册则为404。  
     -->  
     <requestDispatcher handleSelect="false" >  
    
       <!-- Request Parsing:请求解析  
         这些设置说明Solr Requests如何被解析,以及对ContentStreams有什么限制。  
    
          enableRemoteStreaming - 是否允许使用stream.file和stream.url参数来指定远程streams。  
    
          multipartUploadLimitInKB - 指定多文件上传时Solr允许的最大的size。  
    
          formdataUploadLimitInKB - 表单通过POST请求发送的最大size  
         -->   
      <requestParsers enableRemoteStreaming="true"  
                       multipartUploadLimitInKB="2048000"  
                      formdataUploadLimitInKB="2048"/>  
    
      <!-- HTTP Caching  
           设置HTTP缓存的相关参数。  
       -->  
       <httpCaching never304="true" />  
    
       <!--  
        <httpCaching never304="true" >  
            <cacheControl>max-age=30, public</cacheControl>   
         </httpCaching>  
         -->  
    
       <!--  
        <httpCaching lastModifiedFrom="openTime"  
                       etagSeed="Solr">  
           <cacheControl>max-age=30, public</cacheControl>   
          </httpCaching>  
        -->  
     </requestDispatcher>  


     

    3.1.9   requestHandler

    请求处理器:

    <!-- Request Handlers   
        输入的请求会通过请求中的路径被转发到特定的处理器。  
        -->  
      <!-- SearchHandler  
         基本的请求处理器是SearchHandler,它提供一系列SearchComponents。  
       通过multiple shards支持分布式。  
        -->  
      <requestHandler name="/select" class="solr.SearchHandler">  
      <!-- 可以指定默认值。-->  
      <lst name="defaults">  
         <str name="echoParams">explicit</str>  
        <int name="rows">10</int>  
         <str name="df">text</str>  
      </lst>  
      <!-- 添加属性 -->  
     <!--  
        <lst name="appends">  
          <str name="fq">inStock:true</str>  
         </lst>  
       -->  
    
     <!-- 用法同上,尽量不要使用。-->  
      <!--  
       <lst name="invariants">  
           <str name="facet.field">cat</str>  
          <str name="facet.field">manu_exact</str>  
           <str name="facet.query">price:[* TO 500]</str>  
          <str name="facet.query">price:[500 TO *]</str>  
         </lst>  
       -->  
      <!-- 下面的配置可以重置SearchComponents-->  
     <!--  
        <arr name="components">  
          <str>nameOfCustomComponent1</str>  
           <str>nameOfCustomComponent2</str>  
        </arr>  
        -->  
     </requestHandler>  


     

    3.2     managed-schema配置

    managed_schema是在使用solr建立core时的配置(core连接配置和索引库),solr根据它确定如何对文档建立索引到索引库中,每个core在建立前都需要设计好managed_schema。其中包含一些节点配置,常见节点如下:

    3.2.1   常用配置

    在solr和lucene中,每个文档可以解析成一个document,document有field集合组成,field的形式可以为多种,比如filed可以为作者,标题,内容等,field也可以为时间,长度等,document是一系列描述全文的field的集合。Lucene便是将docement进行建立索引的java库,solr为使用lucene实现的一个服务程序,可以说solr是lucene的一个封装。

    当我们有一系列documents时,我们想要对每个docement中需要建立索引的部分进行自定义设定,比如当我们有一篇论文,它可以分成<题目,作者,时间,关键字,地址,内容>这样的field集合,其中作者和关键字这样的field可以包含多个值,作者一般包含学生名字和导师名字。现在,我们想要对该片论文建立全文索引,我们希望可以通过某个field中的值能够搜索到它,比如题目,或者某个关键字,但我不希望通过某些field比如地址搜索到该论文,

    所以想要建立索引的第一个问题为:你希望哪些field可以用于检索?当检索到该文档后,我们希望看见该文档中的题目,地址,内容等属性,

    那么想要建立索引的第二个问题为:你希望哪些属性可以展示给大家看?同时某个field可能包含多个值,比如关键字,

    所以建立索引的第三个问题为:我想指定某个field为多值。

    当想要建立索引时,首先考虑上面三个问题,在solr中,这些问题都可以按照你的设计运行,那就是对managed_schema进行配置。如以下内容:

     

    <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />


    说明:

    name指定field名;

    type指定该field的内容的类型,需要与managed_schema后面的<fieldType name="string"class="solr.StrField" sortMissingLast="true" />进行对应;

    indexed表明该属性是否进行检索,也就是是否需要建立索引,它的值域为{“true”,“false”}当值为true时则建立索引;

    stored的值域也为{“true”,”false”},该选项确定该属性是否用于展示,当设置为”true”时,该field的值将写入索引库中,在检索时,该选项用于返回展示,如果为false则不存储该field并且不做展示。需要申明的是一个值可以同时检索和展示即indexed选项和stored选项可以同时为”true”。

    Required值域为”true”时,每个上传到该索引库的文档都要求包含本field,如果需要建立的文档中并不包含该field则拒绝对其建立索引。

    multiValued配置是否为多值选项,如果值为”true”则为多值,多值如下图所示:

     

    managed-schema文档的格式如下:

    <schema>
      <types>
      <fields>  
      <uniqueKey>
      <copyField>
    </schema>
    


    常用的是指定field数据类型,分词方式,检索等。fileds用于配置field的名字,filed类型,是否检索,是否存储,是否多值等信息。

     

     

     

    3.2.2      FieldType(类型) 

    首先需要在types结点内定义一个FieldType子结点,包括name,class,positionIncrementGap等等一些参数,name就是这个FieldType的名称,class指向org.apache.solr.schema包里面对应的class名称,用来定义这个类型的行为。在FieldType定义的时候最重要的就是定义这个类型的数据在建立索引和进行查询的时候要使用的分析器analyzer,包括分词和过滤。例如:

       

        <fieldType name="lowercase" class="solr.TextField" positionIncrementGap="100">
          <analyzer>
            <tokenizer class="solr.KeywordTokenizerFactory"/>
            <filter class="solr.LowerCaseFilterFactory" />
          </analyzer>
    </fieldType>
    

         

    1)常用域(字段类型)

    StrField: 这是一个不分词的字符串域,它支持 docValues域,但当为其添加了docValues域,则要求只能是单值域且该域必须存在或者该域有默认值 
    BoolField
    boolean域,对应true/false 
    TrieIntField, TrieFloatField, TrieLongField,TrieDoubleField
    这几个都是默认的数字域, precisionStep属性一般用于数字范围查询, precisionStep值越小,则索引时该域的域值分出的 token个数越多,会增大硬盘上索引的体积,但它会加快数字范围检索的响应速度, positionIncrementGap属性表示如果当前域是多值域时,多个值之间的间距,单值域,设置此项无意义。 
    TrieDateField
    :显然这是一个日期域类型,不过遗憾的是它支持 1995-12-31T23:59:59Z这种格式的日期,比较坑爹,为此我自定义了一个 TrieCNDateField域类型,用于支持国人比较喜欢的 yyyy-MM-dd HH:mm:ss格式的日期。源码请参见我的上一篇博客。 
    BinaryField
    :经过 base64编码的字符串域类型,即你需要把 binary数据进行base64编码才能被 solr进行索引。 
     RandomSortField
    :随机排序域类型,当你需要实现伪随机排序时,请使用此域类型。 
    TextField
    :是用的最多的一种域类型,它需要进行分词,所以它一般需要配置分词器。至于具体它如何配置 IK分词器:一般索引使用最小粒度分词,搜索使用最大分词,

     

     

    2)属性说明

    (1)field type是对field类型的详细描述: 
    ● name
    :类型的名称,对应field中的type 
    ● class:类型对应的Java对象, solr默认提供大概20多种类型 
    ● positionIncrementGap
    :当field设置multValuedtrue时,用来分隔多个值之间的间隙大小 
    ● autoGeneratePhraseQueries
    :有点类似找近义词或者自动纠错的设置,例如可以将 wi fi自动转为 wifiwi-fi,如果不设置这个属性则需要在查询时强制加上引号,例如 ‘wi fi’ 


    (2)
    fieldType元素还有一些额外的属性也需要注意下,比如sortMissingFirst,sortMissingLast等: 
    ● sortMissingLast
    表示如果域值为 null,在根据当前域进行排序时,把包含 null值的document 排在最后一位
    ● sortMissingFirst :与 sortMissingLast对应的,相反;
    ● docValues
    :表示是否为 docValues域,一般排序, group,facet时会用到docValues域。

    indexanalyzer中使用 solr.WhitespaceTokenizerFactory这个分词包,就是空格分词,

    然后使用 solr.StopFilterFactorysolr.WordDelimiterFilterFactorysolr.LowerCaseFilterFactorysolr.EnglishPorterFilterFactorysolr.RemoveDuplicatesTokenFilterFactory这几个过滤器。

    在向索引库中添加text类型的索引的时候,Solr会首先用空格进行分词,然后把分词结果依次使用指定的过滤器进行过滤,最后剩下的结果才会加入到索引库中以备查询。Solranalysis包并没有带支持中文分词的包 

     

     

     

    3.2.3      Fields(字段)

    定义具体的字段(类似数据库中的字段),就是filedfiled定义包括name,type(为之前定义过的各种FieldType,indexed(是否被索引),stored(是否被储存),multiValued(是否有多个值)等等。 
    例:

     

    <field name="name"type="string" indexed="true" stored="true"multiValued="false"/>


     

    说明:

    1. name:属性的名称,这里有个特殊的属性“version”是必须添加的。

    2. type:字段的数据结构类型,所用到的类型需要在fieldType中设置。

    3. default:默认值。

    4. indexed:是否创建索引只有index=true 的字段才能做facet.field的字段,同时只有index=true该字段才能当做搜索的内容,当然store=true或者false没关系,将不需要被用于搜索的,而只是作为结果返回的field的indexed设置为false

    5. stored:是否存储原始数据(如果不需要存储相应字段值,尽量设为false),表示是否需要把域值存储到硬盘上,方便你后续查询时能再次提取出来原样显示给用户

    6. docValues:表示此域是否需要添加一个 docValues 域,这对 facet 查询, group 分组,排序, function 查询有好处,尽管这个属性不是必须的,但他能加快索引数据加载,对 NRT 近实时搜索比较友好,且更节省内存,但它也有一些限制,比如当前docValues 域只支持strField,UUIDField,Trie*Field 等域,且要求域的域值是单值不能是多值域

    8. multValued:是否有多个值,比如说一个用户的所有好友id。(对可能存在多值的字段尽量设置为true,避免建索引时抛出错误)

    9. omitNorms:此属性若设置为 true ,即表示将忽略域值的长度标准化,忽略在索引过程中对当前域的权重设置,且会节省内存。只有全文本域或者你需要在索引创建过程中设置域的权重时才需要把这个值设false, 对于基本数据类型且不分词的域如intFeild,longField,Stre, 否则默认就是 false.

    10. required:添加文档时,该字段必须存在,类似MySQL的not null

    11. termVectors: 设置为 true 即表示需要为该 field 存储项向量信息,当你需要MoreLikeThis 功能时,则需要将此属性值设为 true ,这样会带来一些性能提升。

    12. termPositions: 是否存储 Term 的起始位置信息,这会增大索引的体积,但高亮功能需要依赖此项设置,否则无法高亮

    13. termOffsets: 表示是否存储索引的位置偏移量,高亮功能需要此项配置,当你使用SpanQuery 时,此项配置会影响匹配的结果集

    field的定义相当重要,有几个技巧需注意一下,对可能存在多值得字段尽量设置 multiValued属性为true,避免建索引是抛出错误;如果不需要存储相应字段值,尽量将stored属性设为false。


     

    3.2.4      copyField字段

    建议建立了一个拷贝字段,将所有的全文字段复制到一个字段中,以便进行统一的检索:

     

    <field name="all"type="text" indexed="true" stored="false"multiValued="true"/>
     

    并在拷贝字段结点处完成拷贝设置:

    <copyField source="name"dest="all"/>
    <copyField source="summary"dest="all"/>

    注:“拷贝字段”就是查询的时候不用再输入:userName:张三 and userProfile:张三的个人简介。直接可以输入”张三”就可以将“名字”含“张三”或者“简介”中含“张三”的又或者“名字”和“简介”都含有“张三”的查询出来。他将需要查询的内容放在了一个字段中,并且默认查询该字段设为该字段就行了。


     

    3.2.5      dynamicField(动态)字段

    除此之外,还可以定义动态字段,动态字段就是不用指定具体的名称,只要定义字段名称的规则,

    例如:定义一个 dynamicFieldname*_i,定义它的typetext,那么在使用这个字段的时候,任何以_i结尾的字段都被认为是符合这个定义的,例如:name_igender_ischool_i等。  

     

     

     

     

    展开全文
  • Mysql配置文件my.cnf 安装了mysql没有my.cnf文件的情况 1、可以把mysql的示例配置文件,如my-medium.cnf拷贝到/etc/my.cnf,再去修改/etc/my.cnf的配置/usr/share/doc/MySQL-server-5.5.38/my-medium.cnf(Example ...

     

    Mysql配置文件my.cnf

    安装了mysql没有my.cnf文件的情况

    1、可以把mysql的示例配置文件,如my-medium.cnf拷贝到/etc/my.cnf,再去修改/etc/my.cnf的配置/usr/share/doc/MySQL-server-5.5.38/my-medium.cnf(Example MySQL config file for medium systems with little memory (32M - 64M) )

    可以通过命令:>find / -name 你要找的文件(my.cnf/ my-medium.cnf)  或者  >whereis my.cnf 找到.

    所有mysql的配置文件例子都放在:

    # ll /usr/share/doc/MySQL-server-5.5.38/

    2、参考下面的文章修改my.cnf文件(Example MySQL config file for very large systems)

     

    修改MySQL的时区:

     

    查看: mysql> show variables like '%time_zone%';   

     

    1 、可以通过修改my.cnf
    在 [mysqld] 之下加
    default-time-zone=timezone
    来修改时区。如:
    default-time-zone = '+8:00'
    修改完重启msyql  ># service mysql restart
    注意一定要在 [mysqld] 之下加 ,否则会出现 unknown variable 'default-time-zone=+8:00'

     

    2、通过命令行在线修改(经测试不行)

     看到有人通过命令行修改,试过之后发现只能改掉 timezone(而且只针对当前客户端影响),但是查处的时间还是原来的CST时间,重启mysql也没有,全部恢复了。所以这种方式行不通,还是需要修改my.cnf配置文件才行.以下为测试:

    1. set time_zone = timezone  
    2. 比如北京时间(GMT+0800)  
    3. set time_zone = '+8:00'; 如下:  
    4. mysql> set time_zone='+8:00';
    5.   
    6. mysql> show variables like '%time_zone%';     
    7. +------------------+--------+  
    8. | Variable_name    | Value  |  
    9. +------------------+--------+  
    10. | system_time_zone | CST    |  
    11. | time_zone        | +08:00 |  
    12. +------------------+--------+  

    mysql> flush privileges;   # 立即生效

    此时mysql时区已更改正确,与系统时区都使用为 北京时间。

    ## 能改掉 timezone(而且只针对当前客户端影响),但是查处的时间还是原来的CST时间,重启mysql也没有,全部恢复了。所以这种方式行不通,还是需要修改my.cnf配置文件才行.

     

     

     

    验证:

    mysql> show variables like '%time_zone%';

     

    mysql > select CURTIME();

    mysql > select now();

     

     

     

     

     

    下面一篇讲解my.cnf参数配置的文章供参考:

    《linuxmysql的编译安装和my.cnf配置文件详解》:http://blog.itpub.net/26690043/viewspace-719495/

    还有一篇:《linux下mysql配置文件my.cnf详解》http://www.cnblogs.com/captain_jack/archive/2010/10/12/1848496.html 

     

     

    linux下mysql的编译安装和my.cnf配置文件详解 

     

     

    本文主要撰写如何在CentOS6.0上编译安装Mysql数据库,和一些收集的Mysql主配文件my.cnf注释详解。虽然在系统上已经自带了Mysql安装包,但是为了保证整个系统的统一、和一些性能参数的调优,我们需要编译安装Mysql才能满足我们的需求。Mysql的官方网站提供Mysql服务器的源码包和已经编译的二进制安装包供下载。可以通过访问官网下载所需要的Mysql版本,本文采用的是Mysql 5.1版本。

    下载Mysql
    # wget http://mysql.mirrors.hoobly.com/Downloads/MySQL-5.1/mysql-5.1.57.tar.gz

    编译安装Mysql
    # tar zxvf mysql-5.1.57.tar.gz
    # cd mysql-5.1.57
    #./configure --prefix=/usr/local/webserver/mysql/ \
    --enable-assembler \
    --with-extra-charsets=complex \
    --enable-thread-safe-client \
    --with-big-tables \
    --with-readline \
    --with-ssl \
    --with-embedded-server \
    --enable-local-infile \
    # make \
    # make install

    接下来创建mysql用户和相关目录,这根据个人习惯目录自定。

    # mkdir -p /data/mysqldata
    # mkdir -p /data/mysqldata/database
    # mkdir -p /data/mysqldata/log
    # mkdir -p /data/mysqldata/pid
    # groupadd mysql
    # useradd -g mysql -d /data/mysqldata/database -s /sbin/nologin mysql
    # chgrp -R mysql /usr/local/webserver/mysql/.
    # chown -R root:mysql /usr/local/webserver/mysql/*
    # chown -R mysql:mysql /data/mysqldata/*

    以下是Mysql主配文件my.cnf参数和详解:

    # Example MySQL config file for very large systems.
    #
    #下面的配置参数适用于512M内存的服务器。
    #
    # You can copy this file to
    # /etc/my.cnf to set global options,
    # mysql-data-dir/my.cnf to set server-specific options (in this
    # installation this directory is /data/mysql/data) or
    # ~/.my.cnf to set user-specific options.
    #
    # In this file, you can use all long options that a program supports.
    # If you want to know which options a program supports, run the program
    # with the "--help" option.
    
    # The following options will be passed to all MySQL clients
    [client]
    #password = your_password
    port  = 3306
    socket  = /tmp/mysql.sock
    
    # Here follows entries for some specific programs
    
    # The MySQL server
    [mysqld]
    user            = mysql
    port            = 3306
    socket          = /tmp/mysql.sock
    basedir         = /usr/local/webserver/mysql
    datadir         = /data/mysqldata/database
    log-error       = /data/mysqldata/log/mysql_error.log
    pid-file        = /data/mysqldata/pid/mysql.pid
    
    #BDB 相关选项
    # 如果你运行的MySQL服务有BDB支持但是你不准备使用的时候使用此选项. 这会节省内存并且可能加速一些事.
    skip-bdb
    
    #避免MySQL的外部锁定,减少出错几率增强稳定性。
    skip-locking
    
    #禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求!
    skip-name-resolve
    
    #当创建新表时作为默认使用的表类型, 如果在创建表示没有特别执行表类型,将会使用此值
    #mysql是默认支持4种存储引擎:CSV,MRG_MYISAM,MEMORY,MyISAM,默认不支持InnoDB存储引擎(消耗内存比较大).由于内存很小,推荐使用MyISAM存储引擎.
    default_table_type = MyISAM
    
    #设定默认的事务隔离级别,可用的级别:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
    transaction_isolation = READ-UNCOMMITTED
    
    #限制mysqld能打开文件的最大个数,取值:max_connections*5 或者 max_connections + table_cache*2
    open_files_limit = 600
    
    #back_log 是操作系统在监听队列中所能保持的连接数,队列保存了在MySQL连接管理器线程处理之前的连接.如果你有非常高的连接率并且出现”connection refused” 报错,你就应该增加此处的值.检查你的操作系统文档来获取这个变量的最大值.如果将back_log设定到比你操作系统限制更高的值,将会没有效果。
    back_log = 40
    
    # 关键词缓冲的大小, 一般用来缓冲MyISAM表的索引块.不要将其设置大于你可用内存的30%,因为一部分内存同样被OS用来缓冲行数据,甚至在你并不使用MyISAM 表的情况下, 你也需要仍旧设置起 8-64M 内存由于它同样会被内部临时磁盘表使用.
    key_buffer_size = 32M
    
    #服务所能处理的请求包的最大大小以及服务所能处理的最大的请求大小(当与大的BLOB字段一起工作时相当必要),每个连接独立的大小.大小动态增加
    max_allowed_packet = 16M
    
    #线程使用的堆大小。此容量的内存在每次连接时被预留.MySQL 本身常不会需要超过64K的内存,如果你使用你自己的需要大量堆的UDF函数,或者你的操作系统对于某些操作需要更多的堆,你也许需要将其设置的更高一点。
    thread_stack = 192K
    
    #所有线程所打开表的数量。增加此值就增加了mysqld所需要的文件描述符的数量。这样你需要确认在[mysqld_safe]中 “open-files-limit” 变量设置打开文件数量允许至少4096。
    table_cache = 60
    
    #允许外部文件级别的锁。打开文件锁会对性能造成负面影响。所以只有在你在同样的文件上运行多个数据库实例时才使用此选项(注意仍会有其他约束!)。或者你在文件层面上使用了其他一些软件依赖来锁定MyISAM表
    external-locking = FALSE
    
    #排序缓冲被用来处理类似ORDER BY以及GROUP BY队列所引起的排序,如果排序后的数据无法放入排序缓冲, 一个用来替代的基于磁盘的合并分类会被使用,查看 “Sort_merge_passes” 状态变量。在排序发生时由每个线程分配。
    sort_buffer_size = 256K
    
    #用来做MyISAM表全表扫描的缓冲大小。当全表扫描需要时,在对应线程中分配。
    read_buffer_size = 1M
    
    #此缓冲被使用来优化全联合(full JOINs 不带索引的联合),类似的联合在极大多数情况下有非常糟糕的性能表现。但是将此值设大能够减轻性能影响。通过 “Select_full_join” 状态变量查看全联合的数量。当全联合发生时,在每个线程中分配
    join_buffer_size = 256K
    
    #当在排序之后,从一个已经排序好的序列中读取行时,行数据将从这个缓冲中读取来防止磁盘寻道。如果你增高此值,可以提高很多ORDER BY的性能。当需要时由每个线程分配。
    read_rnd_buffer_size = 4M
    
    #MyISAM 使用特殊的类似树的cache来使得突发插入 (这些插入是,INSERT … SELECT, INSERT … VALUES (…), (…), …, 以及 LOAD DATA INFILE) 更快。此变量限制每个进程中缓冲树的字节数。设置为 0 会关闭此优化。为了最优化不要将此值设置大于 “key_buffer_size”。当突发插入被检测到时此缓冲将被分配。
    bulk_insert_buffer_size = 2M
    
    #此缓冲当MySQL需要在 REPAIR, OPTIMIZE, ALTER 以及 LOAD DATA INFILE 到一个空表中引起重建索引时被分配。这在每个线程中被分配.所以在设置大值时需要小心。
    myisam_sort_buffer_size = 4M
    
    #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
    
    thread_cache = 128
    
    #我们在cache中保留多少线程用于重用,当一个客户端断开连接后,如果cache中的线程还少于thread_cache_size。则客户端线程被放入cache中。这可以在你需要大量新连接的时候极大的减少线程创建的开销。(一般来说如果你有好的线程模型的话,这不会有明显的性能提升.)
    thread_cache_size = 10
    
    #查询缓冲常被用来缓冲 SELECT 的结果并且在下一次同样查询的时候不再执行直接返回结果。打开查询缓冲可以极大的提高服务器速度, 如果你有大量的相同的查询并且很少修改表。查看 “Qcache_lowmem_prunes” 状态变量来检查是否当前值对于你的负载来说是否足够高。注意: 在你表经常变化的情况下或者如果你的查询原文每次都不同。查询缓冲也许引起性能下降而不是性能提升。
    query_cache_size = 0M
    
    #只有小于此设定值的结果才会被缓冲,此设置用来保护查询缓冲,防止一个极大的结果集将其他所有的查询结果都覆盖.
    query_cache_limit = 2M
    
    query_cache_min_res_unit = 4K
    
    #内部(内存中)临时表的最大大小,如果一个表增长到比此值更大,将会自动转换为基于磁盘的表。此限制是针对单个表的,而不是总和.
    tmp_table_size = 512K
    
    #独立的内存表所允许的最大容量。此选项为了防止意外创建一个超大的内存表导致永尽所有的内存资源.
    max_heap_table_size = 32M
    
    #所有的使用了比这个时间(以秒为单位)更多的查询会被认为是慢速查询。不要在这里使用”1″, 否则会导致所有的查询,甚至非常快的查询页被记录下来(由于MySQL 目前时间的精确度只能达到秒的级别)。
    ong_query_time = 1
    
    #在慢速日志中记录更多的信息。一般此项最好打开。打开此项会记录使得那些没有使用索引的查询也被作为到慢速查询附加到慢速日志里
    log_long_format
    
    #MySQL 服务所允许的同时会话数的上限,其中一个连接将被SUPER权限保留作为管理员登录。 即便已经达到了连接数的上限.
    max_connections = 200
    
    #指定一个请求的最大连接时间。
    wait_timeout = 30
    
    #每个客户端连接最大的错误允许数量,如果达到了此限制。这个客户端将会被MySQL服务阻止直到执行了”FLUSH HOSTS” 或者服务重启,非法的密码以及其他在链接时的错误会增加此值。查看 “Aborted_connects” 状态来获取全局计数器.
    max_connect_errors = 200
    
    expire_logs_days = 7
    #Try number of CPU's*2 for thread_concurrency
    #此允许应用程序给予线程系统一个提示在同一时间给予渴望被运行的线程的数量。此值只对于支持 thread_concurrency() 函数的系统有意义( 例如Sun Solaris)。你可可以尝试使用 [CPU数量]*(2..4) 来作为thread_concurrency的值
    thread_concurrency = 8
    
    # Don't listen on a TCP/IP port at all. This can be a security enhancement,
    # if all processes that need to connect to mysqld run on the same host.
    # All interaction with mysqld must be made via Unix sockets or named pipes.
    # Note that using this option without enabling named pipes on Windows
    # (via the "enable-named-pipe" option) will render mysqld useless!
    #
    #skip-networking
    
    #默认关闭 Federated
    skip-federated
    
    # Replication Master Server (default)
    # binary logging is required for replication
    #log-bin=mysql-bin
    #在一个事务中binlog为了记录SQL状态所持有的cache大小,如果你经常使用大的,多声明的事务,你可以增加此值来获取更大的性能。所有从事务来的状态都将被缓冲在binlog缓冲中然后在提交后一次性写入到binlog中。如果事务比此值大, 会使用磁盘上的临时文件来替代。此缓冲在每个连接的事务第一次更新状态时被创建
    binlog_cache_size = 2M
    
    max_binlog_cache_size = 4M
    max_binlog_size = 512M
    
    #唯一的服务辨识号,数值位于 1 到 2^32-1之间。此值在master和slave上都需要设置。如果 “master-host” 没有被设置,则默认为1, 但是如果忽略此选项,MySQL不会作为master生效.
    server-id = 1
    
    # Replication Slave (comment out master section to use this)
    #
    # To configure this host as a replication slave, you can choose between
    # two methods :
    #
    # 1) Use the CHANGE MASTER TO command (fully described in our manual) -
    #    the syntax is:
    #
    #    CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
    #    MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
    #
    #    where you replace <host>, <user>, <password> by quoted strings and
    #    <port> by the master's port number (3306 by default).
    #
    #    Example:
    #
    #    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
    #    MASTER_USER='joe', MASTER_PASSWORD='secret';
    #
    # OR
    #
    # 2) Set the variables below. However, in case you choose this method, then
    #    start replication for the first time (even unsuccessfully, for example
    #    if you mistyped the password in master-password and the slave fails to
    #    connect), the slave will create a master.info file, and any later
    #    change in this file to the variables' values below will be ignored and
    #    overridden by the content of the master.info file, unless you shutdown
    #    the slave server, delete master.info and restart the slaver server.
    #    For that reason, you may want to leave the lines below untouched
    #    (commented) and instead use CHANGE MASTER TO (see above)
    #
    # required unique id between 2 and 2^32 - 1
    # (and different from the master)
    # defaults to 2 if master-host is set
    # but will not function as a slave if omitted
    #server-id       = 2
    #
    # The replication master for this slave - required
    #master-host     =   <hostname>
    #
    # The username the slave will use for authentication when connecting
    # to the master - required
    #master-user     =   <username>
    #
    # The password the slave will authenticate with when connecting to
    # the master - required
    #master-password =   <password>
    #
    # The port the master is listening on.
    # optional - defaults to 3306
    #master-port     =  <port>
    #
    # binary logging - not required for slaves, but recommended
    #log-bin=mysql-bin
    #
    # binary logging format - mixed recommended
    #binlog_format=mixed
    
    # Point the following paths to different dedicated disks
    #tmpdir  = /tmp/
    #log-update  = /path-to-dedicated-directory/hostname
    
    # Uncomment the following if you are using InnoDB tables
    #innodb_data_home_dir = /data/mysql/data/
    #innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
    #innodb_log_group_home_dir = /data/mysql/data/
    #innodb_log_arch_dir = /data/mysql/data/
    # You can set .._buffer_pool_size up to 50 - 80 %
    # of RAM but beware of setting memory usage too high
    #innodb_buffer_pool_size = 384M
    #innodb_additional_mem_pool_size = 20M
    # Set .._log_file_size to 25 % of buffer pool size
    #innodb_log_file_size = 100M
    #innodb_log_buffer_size = 8M
    #innodb_flush_log_at_trx_commit = 1
    #innodb_lock_wait_timeout = 50
    
    [mysqldump]
    #不要在将内存中的整个结果写入磁盘之前缓存. 在导出非常巨大的表时需要此项
    quick
    max_allowed_packet = 16M
    
    [mysql]
    no-auto-rehash

    根据需求修改参数值,然后保存为/etc/my.cnf文件。

    初始化mysql数据库
    # /usr/local/webserver/mysql/bin/mysql_install_db \
    --basedir=/usr/local/webserver/mysql \
    --datadir=/data/mysqldata/database \
    --user=mysql

    最后在说下启动和关闭mysql服务器
    # /usr/local/webserver/mysql/bin/mysqld_safe --user=mysql & //启动服务
    # /usr/local/webserver/mysql/bin/mysqladmin -u root -p shutdown //停止服务

     

     

    相关视频课程推荐《站长必修课:网站是怎样做出来的?》https://edu.51cto.com/sd/3be5b

    网站是怎样做出来的?

     

     

     

    展开全文
  • 关于IDEA中pom.xml配置文件依赖文件版本号报红的最有效解决办法,简单粗暴直接!问题产生及解决过程产生的报错解决过程 问题产生及解决过程 产生的报错 最近在研究IDEA的使用以及bootstrap框架,但是在创建项目的...

    关于IDEA中pom.xml配置文件依赖文件版本号报红的最有效解决办法,简单粗暴直接!

    问题产生及解决过程

    产生的报错

    最近在研究IDEA的使用以及bootstrap框架,但是在创建项目的过程中笔者发现了如下的问题:
    在这里插入图片描述
    图中可以看到无数的dependency依赖引入文件版本号报错的问题,相信不少小伙伴都遇到过这样的问题,总结原因是从别的地方引入的项目文件,本地的MavenRepository库中并不存在对应版本的dependency依赖,所以导致版本号报红。

    解决过程

    相信不少人跟我一样,遇到问题首先cv错误内容到百度,一顿乱搜。结果发现一个错误带来了新的错误,新的错误搜索之后又出现了新新的错误,最后不仅身心俱疲,开发工具的相关配置也被搞得乱七八糟影响了正常的开发和运行。笔者搜索了大多数的论坛,发现其他博主提供的解决方案基本上都是:
    修改setting中maven的自动更新,然后刷新、重新下载依赖文件:
    不管用
    不管用
    还是不管用!

    然而试过了,根本木有用,有木有!

    接下来笔者思索了一下,既然是版本号的问题,那么直接去maven的主库中找到对应依赖的正确版本,不就可以利用自动下载解决这个问题了嘛。

    这个是maven主依赖库的地址:https://mvnrepository.com/

    然后按照接下来的步骤进行:

    1.到pom.xml的依赖库中复制对应依赖的ID:
    2.将ID复制至maven库的官网搜索框中,并搜索对应依赖
    3.找到对应依赖,点击进入依赖库
    4.点击进入依赖库,根据所需版本进入详情页:
    5.复制详情页中的maven依赖关联信息至IDEA的pom.xml文件中的依赖库配置中,注意dependency文件头尾都要复制上

    接下来重构maven结构,等待相关配置文件重新下载完毕,问题就迎刃而解了。

    tip:图片加载出了点问题,进行了修改–2020.11.26.11:46

    ##本文参考相关博客
    idea–pom.xml依赖版本号报错

    展开全文
  • centos yum的配置文件 repo文件详解

    万次阅读 多人点赞 2014-11-24 17:54:53
    repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!YUM的工作原理...
    什么是repo文件?
    repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!
    YUM的工作原理并不复杂,每一个 RPM软件的头(header)里面都会纪录该软件的依赖关系,那么如果可以将该头的内容纪录下来并且进行分析,可以知道每个软件在安装之前需要额外安装 哪些基础软件。也就是说,在服务器上面先以分析工具将所有的RPM档案进行分析,然后将该分析纪录下来,只要在进行安装或升级时先查询该纪录的文件,就可 以知道所有相关联的软件。所以YUM的基本工作流程如下:
    服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
    客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。

    vi /etc/yum.conf
    [main]
    cachedir=/var/cache/yum/$basearch/$releasever

    #cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum/$basearch/$releasever。

    keepcache=1

    #keepcache:是否保留缓存内容,0:表示安装后删除软件包,1表示安装后保留软件包

    debuglevel=2
    #debuglevel:除错级别,0──10,默认是2 貌似只记录安装和删除记录
    logfile=/var/log/yum.log
    pkgpolicy=newest
    #pkgpolicy: 包的策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存 在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个 服务器上的软件安装。一般都是选newest。
    distroverpkg=centos-release
    #指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。
    tolerant=1
    #tolerent,也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum不会出现错误信息。默认是0。
    exactarch=1
    #exactarch,有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用1686的包来升级。
    retries=20
    #retries,网络连接发生错误后的重试次数,如果设为0,则会无限重试。
    obsoletes=1
    gpgcheck=1
    #gpgchkeck= 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认是检查的。
    reposdir=/etc/yy.rm #默认是 /etc/yum.repos.d/ 低下的 xx.repo后缀文件
    #默认都会被include 进来 也就是说 /etc/yum.repos.d/xx.repo 无论配置文件有多少个 每个里面有多少个[name] 最后其实都被整合到 一个里面看就是了 重复的[name]后面的覆盖前面的
    exclude=xxx
    #exclude 排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。
    keepcache=[1 or 0]
    #  设置 keepcache=1,yum 在成功安装软件包之后保留缓存的头文件 (headers) 和软件包。默认值为 keepcache=0 不保存

    reposdir=[包含 .repo 文件的目录的绝对路径]
    #  该选项用户指定 .repo 文件的绝对路径。.repo 文件包含软件仓库的信息 (作用与 /etc/yum.conf 文件中的 [repository] 片段相同)。

    第二部分:
    vi /etc/yum.repo.d/xx.repo
    这个字段其实也可以在yum.conf里面直接配置

    [serverid]
    #其中serverid是用于区别各个不同的repository,必须有一个独一无二的名称。 重复了 前面覆盖后面--还是反过来呢???用enabled 测试是后面覆盖前面
    name=Some name for this server
    #name,是对repository的描述,支持像$releasever $basearch这样的变量; name=Fedora Core $releasever - $basearch - Released Updates
    baseurl=url://path/to/repository/
    #baseurl是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是:
    baseurl=url://server1/path/to/repository/
    url://server2/path/to/repository/
    url://server3/path/to/repository/
    #其中url支持的协议有 http:// ftp:// file://三种。baseurl后可以跟多个url,你可以自己改为速度比较快的镜像站,但baseurl只能有一个,也就是说不能像如下格式:
    baseurl=url://server1/path/to/repository/
    baseurl=url://server2/path/to/repository/
    baseurl=url://server3/path/to/repository/
    其中url指向的目录必须是这个repository header目录的上一级,它也支持$releasever $basearch这样的变量。

    #mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
    #上面的这一行是指定一个镜像服务器的地址列表,通常是开启的,本例中加了注释符号禁用了,我们可以试试,将$releasever和$basearch替换成自己对应的版本和架构,例如10和i386,在浏览器中打开,我们就能看到一长串镜可用的镜像服务器地址列表。

    url之后可以加上多个选项,如gpgcheck、exclude、failovermethod等,比如:

    gpgcheck=1
    exclude=gaim
    #其中gpgcheck,exclude的含义和[main]部分相同,但只对此服务器起作用,
    failovermethod=priority
    #failovermethode 有两个选项roundrobin和priority,意思分别是有多个url可供选择时,yum选择的次序,roundrobin是随机选择,如果连接失 败则使用下一个,依次循环,priority则根据url的次序从第一个开始。如果不指明,默认是roundrobin。

    enabled=[1 or 0]
    #当某个软件仓库被配置成 enabled=0 时,yum 在安装或升级软件包时不会将该仓库做为软件包提供源。使用这个选项,可以启用或禁用软件仓库。
    #通过 yum 的 --enablerepo=[repo_name] 和 --disablerepo=[repo_name] 选项,或者通过 PackageKit 的"添加/删除软件"工具,也能够方便地启用和禁用指定的软件仓库

    几个变量
    $releasever,发行版的版本,从[main]部分的distroverpkg获取,如果没有,则根据redhat-release包进行判断。
    $arch,cpu体系,如i686,athlon等
    $basearch,cpu的基本体系组,如i686和athlon同属i386,alpha和alphaev6同属alpha。
    对yum.conf设定完成,我们就可以好好体验yum带来的方便了。

    还有一件事没有做。那就是导入每个reposity的GPG key,前面说过,yum可以使用gpg对包进行校验,确保下载包的完整性,所以我们先要到各个repository站点找到gpg key,一般都会放在首页的醒目位置,一些名字诸如 RPM-GPG-KEY.txt之类的纯文本文件,把它们下载,然后用rpm --import xxx.txt命令将它们导入,最好把发行版自带GPG-KEY也导入,rpm --import /usr/share/doc/redhat-release-*/RPM-GPG-KEY 官方软件升级用的上。
    展开全文
  • MySQL数据库8.0.14版本下载、安装及配置详细教程官网下载环境设置配置文件命令安装 官网下载 官网地址:https://www.mysql.com/ 在菜单栏中依次点击DOWNLOADS、Community、DOWNLOAD选项 跳转界面下拉到底选择合适的...
  • 1:在java开发时总遇到配置文件配置正确,可以运行但有时显示错误。例如下图 上面配置文件正确但有时显错就不能运行。原因是配置文件的约束项错了。 原因是自己的jar包和配置文件版本不同。如果电脑...
  • 昨天电脑正常关闭,可是今天打开时提示“用户配置文件服务登录失败。无法加载用户配置文件”在使用F8 最后一次正确配置后,还是无效,最后只有重新创建账号,问题解决了,我也从网络上找到了相关的解决方案,具体...
  • 下载配置MySQL数据库(5.7及以上版本) 由于在安装配置MySQL的时候踩了很多的坑,所以在此mark一下。 下载配置MySQL数据库(5.7及以上版本下载MySQL 对MySQL进行配置 1. 我将MySQL压缩包...
  • MySQL 5.7.27详细下载安装配置教程

    万次阅读 多人点赞 2019-08-18 17:24:53
    本文详细介绍了Win 10下MySQL 5.7.27的安装及配置步骤,也列举出了一些常见的问题及解决方案
  • as通过gradle实现多渠道打包+使用配置文件进行版本管理+指定apk输出路径和apk文件名这几天的工作,主要是忙着进行Jenkins+Gradle实现app多渠道持续打包发布的工作,因为开发平台刚转到android studio,什么都不熟,...
  • 文件,跟历史版本一对比,发现问题了,一位同事把另一个服务模块给依赖进来了,而且 scope 是 compile 的,导致在 idea 里运行没问题,但是打成 jar 包以后就会出问题了,不过这个锅个人认为 apollo 也要背...
  • nginx完整配置文件例子

    万次阅读 2018-03-05 12:39:23
    例一:这是一个比较完整的nginx配置文件示例,下面的nginx.conf简单的实现nginx在前端做反向代理服务器的例子,处理js、png等静态文件,jsp等动态请求转发到其它服务器tomcat,以及负载均衡的配置。user www www; ...
  • Nginx简介及配置文件详解

    万次阅读 多人点赞 2017-03-19 19:04:58
    一 Nginx简介 ... Nginx由内核和模块组成,完成工作是通过查找配置文件将客户端请求映射到一个location block(location是用于URL匹配的命令),location配置的命令会启动不同模块完成工作。  ...
  • spring cloud官方建议将配置文件配置在远程git仓库,我们某些时候可能想将配置文件放在本地的仓库。这里使用最新cloud版本Finchley.RELEASE做测试。 1 创建本地git仓库,存入几个配置文件,configlearn....
  • 我最近自己再搭建一个springboot、springcloud、vue的项目来玩一下。...爆红的配置文件如下: @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket cr...
  • 遇到好的app项目,下载到源码后,不知道怎样使用AndroidStudio打开,或者打开后因为配置文件而报错,本章将手把手教你如何正确打开项目和修改配置文件。 ①:首先打开项目的文件夹,看到一个build.gradle的文件,...
  • spring中的applicationContext.xml配置头文件解析 xml version="1.0" encoding="UTF-8"?> beans xmlns="http://www.springframework.org/schema/beans"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan
  • apache(V2.4)下载文件配置

    千次阅读 2012-09-11 13:23:00
    apache(V2.4)下载文件配置问题遇到及处理 原来配置: DocumentRoot "/wd/htdocs" Options FollowSymLinks AllowOverride None Order deny,allow Allow from all 及apache指向文件的是/wd/htdocs文件夹下 ...
  • Nginx 的配置文件及简单示例

    万次阅读 2018-07-06 17:39:48
    nginx相关命令 在windows 下nginx 开头的命令要改为 .\... 验证(nginx.conf)配置文件是否有语法错误 nginx -V 查看Nginx的版本号 start nginx 启动Nginx (windows下start nginx) ...
  • vue相关配置文件详解及多环境配置

    千次阅读 多人点赞 2020-05-15 14:27:35
    npm install 命令会根据这个文件下载所有依赖模块。 文件结构如下: { "name": "sop-vue", "version": "0.1.0", "author": "zhangsan <zhangsan@163.com>", "description": "sop-vue", "k
  • MySQL5.5 配置文件 my.ini 1067错误

    万次阅读 2012-04-11 01:06:12
    上两天发的一篇文章: Apache2.2.22 + PHP5.2.17 + MySQL5.5.22 快速搭建部署PHPWind开源论坛 ,当时由于目标是快速搭建 部署PHPWind开源论坛,所以有关mysql的服务,以及mysql的配置 没弄。。所以数据库存放位置,...
  • Linux 下 yum源配置文件 repo 文件学习

    千次阅读 2018-07-25 15:57:00
    repo 文件是 Linux 中yum源(软件仓库)的配置文件,通常一个 repo 文件定义了一个或者多个软件 仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被 yum读取和应用!   ...
  • Docker(三)| Java项目和配置文件打包成镜像并将日志和文件持久化 背景: 基于springboot的java项目 使用yml文件配置日志 或 logback配置日志文件(日志不用说,肯定需要持久化的,我们不希望项目报错然后容器...
  • 在学习hibernate过程中,遇到的这个问题,怎创建配置文件,手动台容易出错了,也不好配置。通过eclipse插件自动生成吧; 这就是我遇到的问题,在eclipse中下载JBoss 选中hibernate和下边的JAVA EE两个选项 下载完成...
  • Elasticsearch整合SpringBoot - 配置文件

    千次阅读 2020-04-27 15:31:47
    目录创建工程,引入依赖配置yml版本协调Netty issue fix附 elasticsearch6.4.3配置文件Don’t forget! 创建工程,引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <...
  • 选择或导入发布配置文件

    千次阅读 2012-09-04 09:01:23
    一个帐户,不用SQL Server数据库稍后添加的代码,您必须下载该.publishsettings的最新版本,以确保它包含连接字符串需要。)  创建发布配置文件 在 解决方案资源管理器,请右击该项目并选择 发布 打开 发布...
  • 大家好,我是Linux运维工程师 Linke 。今天来不及喊口号了,直接开始 好了,下面我先简单说两句。 之前我们生产用的是elasticsearch5.x ,现在要加一个新版本的elastic...2、配置文件中,集群发现有改动 3、不用安装...
  • Ubuntu换源(带源配置文件

    千次阅读 2018-03-19 10:28:01
    相信大部分朋友在使用Ubuntu系统的时候都会碰到一个很头疼的问题,那就是在终端执行... Ubuntu系统的下载配置文件一般都是放在etc/apt目录下的source.list文件,我们只需要更改这个配置文件当中内容就可以顺利更...
  • 结合网上的资料,自己亲自的去安装了一次MySQL,安装版本是win7x...2.启动MySQL服务的时候,提示“发生系统错误 2,系统找不到指定的文件”。 3.TIMESTAMP with implicit DEFAULT value is deprecated. Please use ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 441,710
精华内容 176,684
关键字:

下载版本配置文件错误