linux下mysql的编译安装

注:安装环境:redhat linux 5.8
mysql版本:5.5.28

一、安装mysql-5.5.28
1.在安装前一定要安装好三大编译环境,即"Development Libraries" "Development Tools" "X Software Development",所以要为yum配置好yum库的地址,操作如下:
编辑yum配置文件/etc/yum.repos.d/server.repo,输入如下代码
# repos on instructor for cla***oom use

# Main rhel5 server
[base]
name=Instructor Server Repository
baseurl=ftp://172.16.0.1/pub/Server
gpgcheck=0

# This one is needed for xen packages
[VT]
name=Instructor VT Repository
baseurl=ftp://172.16.0.1/pub/VT
gpgcheck=0

# This one is needed for clustering packages
[Cluster]
name=Instructor Cluster Repository
baseurl=ftp://172.16.0.1/pub/Cluster
gpgcheck=0

# This one is needed for cluster storage (GFS, iSCSI target, etc...) packages
[ClusterStorage]
name=Instructor ClusterStorage Repository
baseurl=ftp://172.16.0.1/pub/ClusterStorage
gpgcheck=0

编辑了配置文件,就要安装编译环境包组了。
yum -y groupinstall "Development Libraries" "Development Tools" "X Software Development"
等待安装,需要点时间

2.安装完成后,首先下载平台对应的mysql版本至本地,登录ftp下载所需源码包,ftp://172.16.0.1/pub/Sources/mysql-5.5/mysql-5.5.28-linux2.6-i686.tar.gz下载到当前目录即可

(1)#get mysql-5.5.28-linux2.6-i686.tar.gz
#tar xf mysql-5.5.28-linux2.6-i686.tar.gz -C /usr/local
编译安装与默认安装的路径和配置文件都有所不同,这里我们制定安装路径为/usr/local目录下。

#cd /usr/local
切换到指定目录下
为了方便,为mysql-5.5.28-linux2.6-i686创建链接mysql
#ln -sv mysql-5.5.28-linux2.6-i686 mysql
#cd mysql
切换到此目录
(2)为了保证数据的安全,我们给数据库创建一个逻辑卷,用来存放数据库的数据文件
假设逻辑卷的大小为5G,创建第五个磁盘分区为逻辑分区
#fdisk /dev/sda5
新建扩展分区4,然后创建一个大小为10G的分区sda5,改变系统类型为8e即LVM,保存退出。

#pvcreate /dev/sda5
#vgcreate myvg /dev/sda5
#lvcreate -L 5G -n mydata myvg
分好去后键入上面命令,在/dev/sda5创建逻辑分区/myvg/mydata,大小为5G,格式化为ext3文件系统;
#mke2fs -j /dev/myvg/mydata

在根目录下创建一个mydata目录,开机让此逻辑卷自动挂载至/mydata下,
#mkdir -pv /mydata/data
#vim /etc/fstab 编辑此文件,添加行:/dev/myvg/mydata /mydata ext3 defaults 0 0;
#mount -a

创建系统用户mysql,系统组mysql
#groupadd -r mysql
#useradd -g mysql -r mysql
#chown -R mysql.mysql /mydata/ ***由于数据库文件很重要,故将/mydata及子目录下的属主和属组都改为mysq***

做完这些就该安装mysql了

#cd /usr/local/mysql
#chown -R mysql.mysql . ***将当前目录下所有文件属主属组更改为mysql,***
#scripts/mysql_install_db --datadir=/mydata/data --user=mysql ***将mysql的数据文件以用户mysql的身份安装至/mydata/data目录下

#chown -R root . ***将所有文件的属主改为root***
(3)接下来配置mysql所需的配置文件了。
#cp support-files/my-large.cnf /etc/my.cnf
***我们是编译安装,所有要将mysql的配置文件support-files/my-large.cnf复制至/etc/目录下,并更改为默认文件名my.cnf。***

#vim /etc/my.cnf
***编辑此配置文件,将thread_concurrency的数值改为4,笔者的cpu为双核的,若是四核的cpu就是4*2=8了。***
***另外添加行datadir = /mydata/data ,数据的存放目录***

#cp support-files/mysql.server /etc/rc.d/init.d/mysqld
#chmod +x /etc/rc.d/init.d/mysqld
#chkconfig --add mysqld
#chkconfig mysql on
***添加的mysql的脚本到/etc/rc.d/init.d下,给予执行权限,并加入服务列表中,在345级别下可以执行***

#service mysqld restart ***重启服务***
#vim /etc/profile.d/mysql.sh ***在/etc/profile.d/下边界文件mysql.sh,添加行:export PATH=$PATH:/usr/local/mysql/bin;这样mysql的相关指令就可直接执行了,无需再输入绝对路径才能执行。***
重新登录系统
#mysql ***可以看到,mysql命令便可执行了***

***mysql的库文件,头文件和man文档等都需加入默认安装时的路径中***
#vim /etc./ld.so.conf.d/mysql.conf
编辑此文件,加入行:/usr/local/mysql/lib;
#ldconfig -v ***此命令是装载mysql的库文件的***

#ln -sv /usr/local/mysql/include /usr/include/mysql
***导出mysql的头文件***

#vim /etc/man.config
***编辑etc下的man配置文件,在其中加入行:MANPATH /usr/local/mysql/man;如此,man帮助文档也可直接查看了***

自行编译安装的mysql就完成了全部配置。