WDlinux官方论坛's Archiver

zsm 发表于 2012-8-2 17:56

Mysql-5.5源码安装过程入门及源码安装的相关知识笔记

[i=s] 本帖最后由 zsm 于 2012-8-2 18:04 编辑 [/i]

[p=30, 2, left][size=14pt][b]Mysql-5.5[font=宋体]源码安装过程入门及源码安装的相关知识笔记[/font][/b][/size][/p][p=30, 2, left]
[size=10.5pt]      很[/size][size=10.5pt]多[/size][size=10.5pt]试用的程序只有源代码(比如[/size][size=10.5pt]tar.gz [/size][size=10.5pt])可用,没人提供[/size][size=10.5pt]RPM [/size][size=10.5pt]或者[/size][size=10.5pt]Debian [/size][size=10.5pt]包。你只好下载源代码,解压,然后手动编译。[/size][size=10.5pt]在[font=Times New Roman]linux[/font][font=宋体]下的很多软件都是通过源码包方式发布的,这样做对于最终用户而言,虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多,针对不同的体系结构,软件开发者往往仅需发布同一份源码包,不同的最终用户经过编译就可以正确运行,这也是非常符合[/font][font=Times New Roman]c[/font][font=宋体]语言的设计哲学的[/font][font=Times New Roman],[/font][font=宋体]一次编写,到处编译么,而常见的二进制包,比如[/font][font=Times New Roman]rpm[/font][font=宋体]和[/font][font=Times New Roman]deb[/font][font=宋体],软件开发者必须为每种特定的平台定制好专门的软件包,这个通过[/font][font=Times New Roman]rpm[/font][font=宋体]文件的后缀名就可以初见端倪,比如[/font][font=Times New Roman]ppc,sparc,i386[/font][font=宋体]之类,在这里不做过多的陈述[/font][/size][size=10.5pt][/size][/p][p=30, 2, left]
[size=10.5pt]       最常见源码包的就两种[font=Times New Roman](XXXX.tar.gz or XXXX.tar.bz2),[/font][font=宋体]其实这些源码包都是[/font][/size][size=10.5pt]由[font=Verdana]2[/font][font=宋体]个工具压缩而成的[/font][/size][size=10.5pt],[font=Times New Roman]tar.gz[/font][font=宋体]结尾的文件用到的工具是[/font][/size][size=10.5pt]tar[/size][size=10.5pt]和[/size][size=10.5pt]gunzip[/size][size=10.5pt],[font=宋体]而[/font][font=Times New Roman]tar.bz2[/font][font=宋体]结尾的文件所使用的工具是[/font][/size][size=10.5pt]tar[/size][size=10.5pt]和[/size][size=10.5pt]bzip2[/size][size=10.5pt],[font=宋体]之所以这样做是因为,[/font][font=Times New Roman]tar[/font][font=宋体]仅仅能够打包多个文件但是没有压缩的功能,而[/font][font=Times New Roman]gz[/font][font=宋体]和[/font][font=Times New Roman]bz2[/font][font=宋体]却刚好相反,仅能够压缩单个文件,这样我们常见的源码包实际上是通过[/font][font=Times New Roman]tar[/font][font=宋体]先将不同的源文件打包,然后再通过[/font][font=Times New Roman]gunzip[/font][font=宋体]或者[/font][font=Times New Roman]bzip2[/font][font=宋体]压缩后发布的[/font][/size][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt]在安装过程中所用的命令功能:[/size][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt][b]1、[/b][/size][size=10.5pt][b]Wget[/b][/size][size=10.5pt]是一款免费开放源代码下载工具,可以运行在[font=Times New Roman]Unix[/font][font=宋体]和[/font][font=Times New Roman]Linux[/font][font=宋体]操作系统下[/font][/size][size=10.5pt]。[/size][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt]-r -A.jpg([font=宋体]只下载[/font][font=Tahoma]JPG[/font][font=宋体]图片[/font][font=Tahoma])   [/font][/size][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt]-i([font=宋体]下载[/font][font=Tahoma]txt[/font][font=宋体]下的文件[/font][font=Tahoma]) [/font][/size][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt]-b[font=宋体](后台下载)[/font][/size]
[size=10.5pt]      -c[font=宋体](断点续传)[/font][/size]
[size=10.5pt]      -P  [font=宋体]指定下载到本机的哪个目录[/font][/size][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt]-nd [font=宋体]表示不在本机重新创建目录结构。[/font][/size]
[size=10.5pt]      -t 1     [font=宋体]重复次数为[/font][font=Tahoma]1[/font][font=宋体]次[/font][/size][/p][p=30, 2, left][size=10.5pt]2[/size][size=10.5pt][b]、[/b][/size][size=10.5pt][b]./configure[/b][/size][size=10.5pt]是用来检测你的安装平台的目标特征的。比如它会检测你是否有[font=Arial]CC[/font][font=宋体]或[/font][font=Arial]GCC[/font][font=宋体],并不是需要[/font][font=Arial]CC[/font][font=宋体]或[/font][font=Arial]GCC[/font][font=宋体],它是个[/font][font=Arial]shell[/font][font=宋体]脚本。[/font][/size]
[size=10.5pt]这一步一般用来生成 [font=Arial]Makefile[/font][font=宋体],为下一步的编译做准备[/font][/size][size=10.5pt]([font=宋体]即让[/font][font=Arial]make install[/font][font=宋体]从中读取指令[/font][font=Arial])[/font][/size][size=10.5pt],你可以通过在 [font=Arial]configure [/font][font=宋体]后加上参数来对安装进行控制,比如[/font][/size][size=10.5pt]:[/size][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt]./configure --prefix=/usr[font=宋体]的意思是将该软件安装在 [/font][font=Arial]/usr [/font][font=宋体]下面,执行文件就会安装在 [/font][font=Arial]/usr/bin [/font][font=宋体](而不是默认的 [/font][font=Arial]/usr/local/bin)[/font][/size][size=10.5pt]。[/size][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt]3[font=宋体]、[/font][/size][size=10.5pt][b]make[/b][/size][size=10.5pt]是用来编译的,它从[font=Arial]Makefile[/font][font=宋体]中读取指令,然后编译。[/font][/size][size=10.5pt]([/size][size=10.5pt]make [font=宋体]的作用是开始进行源代码编译,以及一些功能的提供,这些功能由他的 [/font][font=Arial]Makefile [/font][font=宋体]设置文件提供相关的功能,比如 [/font][font=Arial]make install [/font][font=宋体]一般表示进行安装[/font][/size][size=10.5pt])。[/size][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt]4[font=宋体]、[/font][/size][size=10.5pt][b]make install[/b][/size][size=10.5pt]是用来安装的,它也从[font=Arial]Makefile[/font][font=宋体]中读取指令,安装到指定的位置。[/font][/size][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt][b]make insatll[/b][/size][size=10.5pt] ,这条命令来进行安装(当然有些软件需要先运行 [font=Arial]make check [/font][font=宋体]或 [/font][font=Arial]make test[/font][font=宋体]来进行一些测试),这一步一般需要你有[/font][font=Arial]     root [/font][font=宋体]权限(因为要向系统写入文件)[/font][/size][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt][/size][/p][p=30, 2, left]
[size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt][/size][/p][p=30, 2, left]
[size=12pt]          以下是我在[font=Arial]wdos[/font][font=宋体]系统上 [/font][font=Arial]mysql5.5[/font][font=宋体]的源码安装过程记录[/font][font=Arial]~~~[/font][/size][/p][p=30, 2, left][font=Arial][size=3][/size][/font][size=12pt][/size] [/p][p=30, 2, left][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt]一、安装[font=Arial]cmake[/font][font=宋体]工具[/font][/size][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt]注[/size][size=10.5pt]:[font=Arial]Mysql[/font][font=宋体]从[/font][font=Arial]5.5[/font][font=宋体]版本开始,通过[/font][font=Arial]./configure[/font][font=宋体]进行编译配置方式已经被取消,取而代之的是[/font][font=Arial]cmake[/font][font=宋体]工具,[/font][/size][size=10.5pt][/size][/p][p=30, 2, left]
[size=10.5pt]      注[/size][size=10.5pt]:使用[font=Arial]configure[/font][font=宋体],编译完成之后将生成[/font][font=Arial]config.log[/font][font=宋体]和[/font][font=Arial]config.status [/font][font=宋体]文件。[/font][/size][size=10.5pt][/size][/p][p=30, 2, left][size=10.5pt]      使用[font=Arial]cmake[/font][font=宋体],编译完成之后将生成[/font][font=Arial]cmakefError.log[/font][font=宋体]和[/font][font=Arial]cmakeoutput.log[/font][font=宋体]文件。[/font][/size][/p][p=30, 2, left][font=宋体][/font][size=10.5pt][/size] [/p][p=30, 2, left][size=10.5pt]创建目录[font=Arial]/opt/mysql_cmake[/font][font=宋体],然后进入目录,用[/font][font=Arial]wget[/font][font=宋体]命令下载[/font][font=Arial]cmake[/font][font=宋体]源码包。如下:[/font][/size][/p][p=30, 2, left][size=10.5pt][attach]1482[/attach][/size][/p]
[size=10.5pt][p=30, 2, left][size=10.5pt]查看压缩包,已在该目录下了[/size][/p][p=30, 2, left]
[size=10.5pt]     [attach]1483[/attach][/size][/p][/size]
[size=10.5pt][size=10.5pt][font=宋体][/font][/size][p=30, 2, left][size=10.5pt][font=宋体][/font][/size][/p][/size]
[p=30, 2, left]
[size=10.5pt]                               ........(全————请看附件)[/size][/p][p=30, 2, left][size=10.5pt][/size][/p]

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.