zoukankan      html  css  js  c++  java
  • 装配MySQL源代码分发

     作者:天极软件 泉源:天极软件

    你需求下列东西机关并装配MySQL源代码:

    • GNU gunzip解紧缩该分发。
    • 一个适宜的tar解包分发。GNU tar已知可以义务。
    • 一个能运转的ANSI C 编译器。gcc> = 2.8.1 、egcs> = 1.0.2 、SGI C 和SunPro C 是一些已知能义务编译器。 当使gcc用时,不需求libg 。gcc2.7.x 有一个bug,使得它能够不能编译一些完全合法的C 文件,例如“sql/sql_base.cc”。假如你仅有gcc2.7.x,你必须晋级gcc才干编译MySQL
    • 一个出色的make次序。GNU make总是被举荐且有时必须。假如你有功效,我们举荐试一试GNU make3.75或更新。

    假如你碰到功效,当向mysql@lists.mysql.com邮寄功效时,请接续使用mysqlbug。就算功效不是一个bug,mysqlbug搜集零碎信息,将有助于此外人筹划你的功效。假如倒运用mysqlbug,你裁汰得到关你功效的一个筹划方案的能够性!在你解包分发后,你会在“scripts”目录下找到mysqlbug。见2.3 若何陈述错误或功效。

    4.7.1 疾速装配概述

    你必须执行的装配MySQL源代码分发的基础下令是(从一个解包的tar文件):

    shell>configure
    shell>make
    shell>make install
    shell>scripts/mysql_install_db 
    shell>/usr/local/mysql/bin/safe_mysqld &
    

    假如你从一个源代码RPM开端,那么执行如下下令。

    shell> rpm -- rebuild MySQL-VERSION.src.rpm

    多么你制作一个可以装配的二进制RPM。

    假如你装配了DBIMsql-Mysql-modulesPerl模块,你可以利用bin/mysql_setpermission剧本增进新用户。

    以下是更详尽的描写:

    为了装配源代码分发,遵循下列步骤,然后承袭到4.15 装配前期的设置与测试,举行装配前期的初始化与测试。

    1. 挑选一个你要在其上面解包分发的目录,而且进入该目录。
    2. 从节4.1 若何得到MySQL中列出的站点之一得到一个分发文件。MySQL源代码分发以紧缩的tar档案供给,而且有近似于“mysql-VERSION.tar.gz”的名字,这里的VERSION是一个近似3.23.7-alpha的数字。
    3. 在以后目录下解包分发:
      shell> gunzip < mysql-VERSION.tar.gz | tar  xvf -

      这个下令创设名为“mysql-VERSION”的一个目录。

    4. 进入解包分发的顶级目录:
       shell> cd  mysql-VERSION
    5. 设置发行版本而且编译:
      shell>./configure--prefix=/usr/local/mysql 
      shell>make 
      

      当你运转configure时,你能够想要指定一些选项,运转./configure --help得到一张选项表。4.7.3 典范的configure选项批评辩论一些很有用的选项。假如configure失败,你将发送包孕你感受能帮你筹划该功效的“config.log”的邮件,假如configure很是列入,也要包括configure的最后几行输入。用mysqlbug剧本邮寄错误陈述。见2.3 若何陈述错误和功效。假如编译失败,见节4.8 编译功效?,帮忙筹划很多罕见功效。

    6. 装配全部东西:
      shell>make install

      你能够需求root用户来运转这个下令。

    7. 缔造MySQL受权表(只要你曩昔没装配MySQL是必须的):
      shell>scripts/mysql_install_db

      看重,在运转mysql_install_db时,那些比3.22.10旧的MySQL版本启动MySQL效劳器。目下当今不是多么了!

    8. 假如你想要装配对Perl DBI/DBD接口的支撑,见4.10 Perl装配看重阐明');。
    9. 假如你想要MySQL在你指导呆滞时自动地启动,你可以拷贝support-files/mysql.server到你的零碎中有启动文件的处所。更多的信息可以在support-files/mysql.server剧本里和4.15.3 自动启动和终止MySQL找到。

    在全部东西装配完以后,你应该初始化而且测试你的分发。

    你可以用下列下令启动MySQL效劳器,这里BINDIRsafe_mysqld被装配的目录(缺省为“/usr/local/bin”):

    shell> BINDIR/safe_mysqld &
    

    假如这个下令提醒mysqld daemon ended并即速失败,那么你能在文件“mysql-data-directory/'hostname'.err”找到一些信息。能够的缘由是你已经有另外一个正在运转的mysqld效劳器。见19.3 在一致台呆滞上运转多个MySQL效劳器。

    拜见4.15 装配前期的设置与测试。

    4.7.2 运用补丁

    有时补丁呈目下当今邮件列表上或放在MySQL FTP所在的补丁区。

    为了使用来自邮件列表的一个补丁,留存补丁呈目下当今文件的往事,进入你的MySQL源代码树的顶级目录并运转这些下令:

    shell>patch - p1 <patch-file-name 
    shell>rm config.cache
    shell>make clean
    

    来自FTP所在的补丁是作为普通文本文件或作为被紧缩了的gzip文件分发。运用一个文本的补丁如上述邮件列表补丁,为了使用一个紧缩的补丁,进入你的MySQL源代码树顶级目录并运转这些下令:

    shell>gunzip <patch-file-name.gz |patch - p1 
    shell>rm  config.cache 
    shell>make clean
    

    在使用一个补丁以后,遵循正常的源代码装配的指令,开端./configure步骤。在运转make install后,重启你的MySQL效劳器。

    在运转make install前,你能够需求封闭全部正在运转的效劳器(使用mysqladmin shutdown)。假如一个次序的新版本替代以后正在执行的版本,一些零碎不答应你装配它。

    4.7.3 典范的configure选项

    configure剧本给你一个很年夜的节制权来若何设置配备陈设你的MySQL分发。典范地,你使用configure下令行的选项举行。你也可以用正确的环境变量感化于configure。关于一个由configure支撑的选择列表,运转这个下令:

    shell> ./configure -- help

    一些更常用的configure选项见上面的描写:

    • 只编译MySQL客户库和客户次序而不是效劳器,使用--without-server选项:
      shell> ./configure --without-server

      假如你没有一个 C 编译器,mysql将不编译(有一个客户次序需求C )。在这种环境下,你可以去丢失configure里面测试C 编译器的代码,然后运转带有 --without-server选项的./configure。编译步骤步将仍旧尝试机关mysql,可是你可以马虎任何干于“ mysql.cc ”的正告。(假如make终止,尝尝make -k陈述它即使失足承袭剩下的机关步骤)。

    • 假如你不想要位于“/usr/local/var”目录上面的日记(log)文件和数据库,使用近似于下列configure下令的一个:
      shell>./configure--prefix=/usr/local/mysql 
      shell>./configure--prefix=/usr/local --localstatedir=/usr/local/mysql/data
      

      第一个下令变化装置前缀以便任何东西被装配在“/usr/local/mysql”上面而非缺省的“/usr/local”。第二个下令留存缺省装配前缀,可是覆盖了数据库目录缺省目录(每每是“/usr/local/var”)而且把它改/usr/local/mysql/data.

    • 假如你正在使用Unix而且你想要MySQL的套接字位于缺省所在以外的某个处所(每每在目录“/tmp”“/var/run”,使用象多么的configure的下令:
      shell> ./configure -- with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock

      看重给出的文件必须是一个绝对途径!

    • 假如你想编译静态链接次序(例如,制作二进制分发、得到更快的速率或与筹划与RedHat分发的一些),像多么运转configure
      shell>./configure --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
      
    • 假如你正在使用gcc而且没有装配libg libstdc ,你可以陈述configure使用gcc作为C 编译器:
      shell> CC=gcc  CXX=gcc  ./configure

      当你使用时gcc作为C 编译器是,它将不试图链接libg libstdc 。假如机关失败而且孕育发生有关编译器或链接器的错误,不能创设共享库“libmysqlclient.so.#”(“#”是一个版本号), 你可以经过进程为configure指定--disable-shared选项来筹划此功效。在这种环境下,configure将不机关一个共享libmysqlclient.so.#库。

    • 你可以设置MySQL关于非NULL的列倒运用DEFAULT列值(即,不答应列是NULL)。这招致INSERT语句孕育发生一个错误,除非你大白地为全部要求非NULL值的列指定值。为了抑制使用缺省值,多么运转configure
      shell> CXXFLAGS=-DDONT_USE_DEFAULT_FIELDS  ./configure
    • 缺省地,MySQL使用ISO-8859-1(Latin1)字符集。为了转变缺省设置,使用--with-charset选项目:
      shell> ./configure -- with-charset=CHARSET

      CHARSET可以是big5cp1251cp1257czechdanishdec8doseuc_krgb2312 gbk、german1hebrewhp8hungariankoi8_rukoi8_ukrlatin1latin2sjisswe7tis620ujisusa7win1251win1251ukr之一。见9.1.1 用于数据和排序的字符集。看重:假如你想要转变字符集,你必须在设置配备陈设时代做make distclean!假如你想在效劳器和客户之间变卦字符,你应该看一下SET OPTION CHARACTER SET下令。见7.25 SET OPTION句法。正告:假如你在创设了任何数据库表之后转变字符集,你将必须对每个表运转myisamchk -r -q,不然你的索引能够不正确地排序。(假如你装配了MySQL,创设一些表,然后从新设置配备陈设MySQL使用一个差此外字符集而且从新装配它,这时就能够孕育发生这种环境。)

    • 为了设置配备陈设MySQL带有调试代码,使用--with-debug选项:
      shell> ./configure --with-debug

      这招致包孕一个安全的内存分配器,能缔造一些错误和并供给关于正在孕育发生的事情的输入。见G.1调试一个MySQL效劳器。

    • 属于特定零碎的选项可在本章特定零碎的小节里找到。见4.11 零碎特定的功效。





    版权声明: 原创作品,答应转载,转载时请务必以超链接方式标明文章 原始来因 、作者信息和本声明。不然将穷究纪律责任。

  • 相关阅读:
    LSMW TIPS
    Schedule agreement and Delfor
    Running VL10 in the background 13 Oct
    analyse idoc by creation date
    New Journey Prepare
    EDI error
    CBSN NEWS
    Listen and Write 18th Feb 2019
    Microsoft iSCSI Software Target 快照管理
    通过 Microsoft iSCSI Software Target 提供存储服务
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1975277.html
Copyright © 2011-2022 走看看