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 classroom 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就完成了全部配置。