您的位置:首页 > 数据库 > MySQL

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

2012-08-08 00:00 267 查看
Mysql-5.5源码安装入门过程及源码安装的相关知识笔记

很多试用的程序只有源代码(比如 tar.gz )可用,没人提供 RPM 或者Debian 包。你只好下载源代码,解压,然后手动编译。

在linux下的很多软件都是通过源码包方式发布的,这样做对于最终用户而言,虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多,针对不同的体系结构,软件开发者往往仅需发布同一份源码包,不同的最终用户经过编译就可以正确运行,这也是非常符合c语言的设计哲学的,一次编写,到处编译么,而常见的二进制包,比如rpm和deb,软件开发者必须为每种特定的平台定制好专门的软件包,这个通过rpm文件的后缀名就可以初见端倪,比如ppc,sparc,i386之类,在这里不做过多的陈述

最常见源码包的就两种(XXXX.tar.gz or XXXX.tar.bz2),其实这些源码包都是由2个工具压缩而成的,tar.gz结尾的文件用到的工具是tar和gunzip,而tar.bz2结尾的文件所使用的工具是tar和bzip2,之所以这样做是因为,tar仅仅能够打包多个文件但是没有压缩的功能,而gz和bz2却刚好相反,仅能够压缩单个文件,这样我们常见的源码包实际上是通过tar先将不同的源文件打包,然后再通过gunzip或者bzip2压缩后发布的

在安装过程中所用的命令功能:

1、Wget是一款免费开放源代码下载工具,可以运行在Unix和Linux操作系统下。

-r -A.jpg(只下载JPG图片)

-i(下载txt下的文件)

-b(后台下载) -c(断点续传) -P 指定下载到本机的哪个目录

-nd 表示不在本机重新创建目录结构。 -t 1 重复次数为1次

2、./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。
这一步一般用来生成 Makefile,为下一步的编译做准备(即让make install从中读取指令),你可以通过在 configure 后加上参数来对安装进行控制,比如:

./configure --prefix=/usr的意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin)。

3、make是用来编译的,它从Makefile中读取指令,然后编译。(make 的作用是开始进行源代码编译,以及一些功能的提供,这些功能由他的 Makefile 设置文件提供相关的功能,比如 make install 一般表示进行安装)。

4、make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

make insatll ,这条命令来进行安装(当然有些软件需要先运行 make check 或 make test来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)

以下是我在wdos系统上 mysql5.5的源码安装过程记录~~~

一、安装cmake工具

注:Mysql从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具,

注:使用configure,编译完成之后将生成config.log和config.status 文件。

使用cmake,编译完成之后将生成cmakefError.log和cmakeoutput.log文件。

创建目录/opt/mysql_cmake,然后进入目录,用wget命令下载cmake源码包。如下:



查看压缩包,已在该目录下了



用tar命令接压缩cmake包,tar

bz2格式用j,gz格式用z,c是创建,x是解压缩,v是详细信息,f是指定文件

#tar -zvxf cmake-2.8.3.tar.gz

指定安装的位置cmake-2.8.3,解压缩完之后就默认自动生成该目录文件。

#cd cmake-2.8.3

./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,

并不是需要CC或GCC,它是个shell脚本。(预编译),生成 Makefile。

# ./configure //诸 / 前有

.

make是用来编译的,它从Makefile中读取指令,然后编译。

# make

make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置cmake-2.8.3。

# make install

二、安装Mysql-5.0

先创建目录mkdir /opt/mysql_mysql,然后cd /opt/mysql_mysql,再用wget命令下载mysql源码包。如下:





用tar命令解压缩mysql源码包

#tar -zvxf mysql-5.5.25a.tar.gz

Ll命令查看,解压缩成功之后便自动生成mysql-5.0目录文件



进入该目录,开始检测、编译、安装源码包,如下

#cd mysql-5.5.25a

Cmake编译,,相关参数的设置可以参照网上的一些资料。



注:Cmake编译时可能遇到的如下问题



看提示的解决方法:(remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.)

就是要安装courses包,

命令:Yum install ncurses-devel //安装

yum安装之后 还是报错,那是因为 cmake会产生CMakeCache.txt文件,每次cmake之前

需要删除它.

命令:Rm -rf CMakeCache.txt //删除文件

然后继续运行cmake



显示成功了。



分别运行make和make install 编译安装

# make

# make install

三、设置mysql数据库

添加mysql用户和用户组,用来运行mysql数据库





设置目录/var/local/mysql的权限为可写,并将目录的拥有者设置为mysql组的使用者mysql用户



创建目录/var/mysql,并设置其拥有者,备份服务文件,为后面的数据库初始化操作做准备

# make -p /var/mysql



初始化数据库。利用mysql_install_db 生成数据库授权表



进入服务文件,添加指定路径。

Basedir:参数指定了安装 MySQL 的安装路径

Datadir:参数指定了 MySQL 的数据库文件放在什么路径下

# vi /etc/init.d/mysql



设置开机启动

(用chkconfig增加一项新的服务并指定读系统服务mysql要在哪个执行等级中开启或关闭)



重启服务成功:

# /etc/init.d/mysqld start

连接mysql

注:可能出现的问题问题



原因:由于mysql 默认的mysql.sock 是在/var/lib/mysql/mysql.sock,但linux系统总是去/tmp/mysql.sock查找,所以会报错。

解决方法: 创建/var/lib/mysql/mysql.sock的软连接:当系统找到/tmp/mysql.sock时,会自动连接到/var/lib/mysql/mysql.sock



具体用法是:ln -s 源文件 目标文件。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

再次连接mysql,成功,初始密码为空,即直接敲-回车



修改root用户密码

注:可能出现的问题及解决方法

问题:mysql> update mysql.user set password=password(”123456”)where User=”root”;
mysql> flush privileges;
mysql> quit ;
用以上语句修改后不生效,即再次登陆时密码还是为空

解决:采用以下修改方法,具体原因我也不知道。



四、对mysql的基本使用

创建数据库



创建表



向空表插入数据



查询语句使用select



更多的mysql基本操作我就不一一列出了,可以根据自己需要操作。

有问题可到http://www.wdlinux.cn/bbs/index.php进行讨论学习
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息