fedora专题

fedora 11安装源码mysql-5.1

本原创文章属于《Linux大棚》博客,博客地址为http://roclinux.cn。文章作者为rocrocket。

为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅。

===

[正文开始]

在fedora 11中,楞是装不好源码mysql。折腾半天,把安装过程记录在此,以资共飨。

ps:文章中涉及的目录路径都是我本机目录,大家可以自行调整。

ps:我用的时5.1.32,你当然可以使用最新的5.1.35。

第一步:

以rocrocket普通用户登录系统,系统中不必要有mysql用户和mysql用户组。(我可没用root登录哦)

第二步:

下载mysql-5.1.32.tar.gz,并解压到源码到/rocrocket/software/repo/src/mysql-5.1.32目录下:

$ tar -xzvf mysql-5.1.32.tar.gz -C /rocrocket/software/repo/src

$ cd /rocrocket/software/repo/src/mysql-5.1.32

第三步:

运行./configure

./configure –prefix=/rocrocket/software/program/mysql-5.1.32 –with-charset=utf8 –with-extra-charsets=all –with-unix-socket-path=/rocrocket/software/program/mysql-5.1.32/mysql.sock

第四步:

编译安装

make && make install

第五步:

拷贝配置文件

cd /rocrocket/software/program/mysql-5.1.32

mkdir etc

mkdir -p var/log

mkdir -p var/run

cd etc

cp /rocrocket/software/repo/src/mysql-5.1.32/support-files/my-small.cnf my.cnf

第六步:

编辑my.cnf,在最后增加如下的行:

[mysqld_safe] log-error=/rocrocket/software/program/mysql-5.1.32/var/log/mysqld.log
pid-file=/rocrocket/software/program/mysql-5.1.32/var/run/mysqld.pid

cd ../bin

./mysql_install_db

第七步:

运行即可

/rocrocket/software/program/mysql-5.1.32/bin/mysqld_safe &

最后一步:

查看下端口信息:

netstat -lntp|grep 3306

最后提醒:

如果要停止mysql的话,这样(需要root用户权限):

/rocrocket/software/program/mysql-5.1.32/bin/mysqladmin shutdown

over~~

5条评论

  1. 你最担心软件装上去无法卸掉,这个你不用担心。还记得有个make install命令吗?与之对应的还有一个make uninstall。为什么不利用这个现成的卸载工具完成卸载任务呢?总想一删而后快呢?
    想卸掉安装在/usr/local下的软件,虽然不如你在家目录下干掉软件目录快。但也是很容易的事情。
    我想下载下来的软件源代码包,博主不会在安完软件后一删了之吧。这种过河拆桥的做风可不太好。我是保留下来了,说不定什么时侯我又要重新编译它。卸载一个自己编译的软件我是这样做的。
    1.解压源代码包至/usr/src目录。当然在做这个之前我已经给这个目录赋于写入权限了。这个目录专门用于存放源代码的。也是系统给管理员准备好的。
    2.重复安装软件时的动作:
    ./configure
    需要提醍的是,这次做configure后面附加的参数一定要与你安装时设置一样。说白了就是安装时你怎么configure,现在你就怎么做。
    另一个提示,如果你当初make install之后没有运行make clean命令。那么当你现卸掉软件时,这个./configure是不必做的。直接make uninstall即可干掉软件。之所以要configure是因为我们编译完软件时出于节省空间的需要往往并不保留解压后的源代码目录,只保留源代码的压缩包而已。
    3.运行卸载脚本
    make uninstall

    至此,你可以检查下/usr/local目录,是否有残余文件,还有清理家目录和/etc下的软件配置文件。
    所以说博主担心的软件卸载问题根本就不是问题。编译安装的软件影响不到其它软件,卸载时也留不下什么垃圾文件。博主可放心使用。

    博主把软件安到家目录的做法并不合适。我那样做并不是结构清淅。所谓清淅不过是删软件方便,我知道软件都装那哪些文件。但这个好处也带来了一个坏处。软件随时都可能被破坏。现在的linux系统百般限制root就是因为怕文件被误删,提高系统安全性。博主把软件安到家目录下,对于系统安全有多少影响我说不好,我不是搞安全的。但我至少可以确定这个软件的安全性没有了。你的博客文章讲了不少东西,很实用。我受益颇多。写了这么多,就是要纠正你错误的思路。在此也感谢博主。

  2. Fedora Linux的文件架构是逻辑上的统一,公私分明。它按文件性质分目录,而不按软件。/usr/local下可安装满足Linux文件架构的软件。而/usr之下则是受软件包管理器节制的RPM软件安装地。/opt下安装不合linux文件架构的软件,一般商业软件都安在它之下。这个文件夹下面可以一个软件一个文件夹。而/home目录纯是用户的私人空间。不应,也没必要成为软件安装的地方。

    1. 非常仔细的回复,先谢谢roc!(和我同名阿…)
      对于QQ和flash的关系,以及/opt目录的总结,都很不错,我也又多了解了很多东西。
      对于大部分软件的安装,我也支持你的理论。
      但是对于同一软件多版本的安装,或者临时安装某些软件进行测试,我还是更倾向于我自己的思路,因为这样结构更加清晰,而且卸载起来也更加方便。
      呵呵
      希望进一步讨论:)
      再次谢谢精彩的回复阿!

  3. 给博主一个建议,编译安装选用默认安装路径是上策。绝大多数软件默认configure路径为
    /usr/local之下。这个文件的作用是什么,我想博主比我懂得多,自然清楚。只是没发现他的好处而已。
    /usr/local之下一套完整的文件架构,如bin,lib,share等等,不一而足。专门给管理员编译软件提供路径。把软件安装到这个文件夹下有两点好处。第一、环境变量的问题不用专门去设。比如博主现在启动MySQL要进入某某文件夹去启动某某可执行文件。你装一个软件可以这么做,如果你编译安装三个,四个,五个软件。在终端中启动他们。还得一个个进某某文件逐一启动吗?你把BASH用成了MS的垃圾CMD一般。不值得。如果你都装到/usr/local之下不去设置路径。又是另一回事。你不必去设PATH,更不用做软链。直接启动程序。这样不好吗?
    第二、方便打包重用。在Fedora下重装了编译的N多软件再重编译一便?太累了吧。如果你不安排路径,直接把软件make install到/usr/local下去。那么好吧,直接TAR这个文件夹。重装系统把需要的依赖库照例装好以后。直接tar回/usr/local。以前编译好的N个程序照样可以使用。如果启动不起来,少依赖,哪也是到yum仓库找RPM的例行公事。如果是自已编译的库,那这步都省了直接都tar回去了。如果像博主那样一个文件夹一个软件。那重装完后,博主一个个配path和链接吧。

    把某某程序装到特定的目录。是windows安装程序的习惯。看似干净实际上dll的冲突连连。这也是为什么在windows下的某个程序出问题后整个系统都不稳定的原因之一。也正是这样松散的文件结构,令你的系统往往容不下一个程序的不同版本。例如你装了IE7就不能再装一个IE6,你装了一个IE8就不能降回IE6。系统的安全性也因此打折扣。最好的例子就是QQ。过去的QQ连ADOBE的flash播放器都自带。微软系统里已打过补丁了。可QQ自带的DLL是旧版本没打过补丁的。结果运行QQ照样中马。没错QQ很干净所有的文件都在一个目录里。但这样的干净要用牺牲安全做代价。因为你不知道QQ用的是哪个DLL库。是系统里的新版本?还是自带的旧版本。没有专业的工具你没办法知道。可就算知道了你又能怎么样?你还得用他。因为QQ是商业软件不开源。

发表您的评论

请您放心,您的信息会被严格保密。必填项已标识 *