mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz 在rhel6.5上的编译安装

作者:ilove_vc  发布日期:2014-05-27 10:43:16

mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz 在rhel 6.5 x86_64上的编译安装

1.源码包的下载及校验

1.1. 源码下载及校验

 

 

 

2. 建立mysql数据目录

2.1. 准备分区

2.2. 创建逻辑卷并格式化

2.3. 挂载逻辑卷到/mydata

2.4. 创建mysql用户,创建mysql数据目录/mydata/data并修改data目录的属主属组均为mysql

3. 建立编译环境及mysql编译安装时选项说明

3.1. mysql-5.6.17编译时常用选项

4. 编译安装及初始化

4.1. 编译安装

4.2. 修改mysql安装目录的属主和属组属主为root,属组mysql

4.3. 为mysql提供主配置文件

4.4. 为mysql提供sysv服务脚本

4.5. 添加至服务列表

4.6. 输出mysql的man手册至man命令的查找路径

4.7. 输出mysql的头文件至系统头文件路径/usr/include

4.8. 输出mysql的库文件给系统库查找路径

4.9. 改PATH环境变量,让系统可以直接使用mysql的相关命令

4.10.初始化数据库

4.11.启动数据库并测试

 

1.源码包下载

1.1. 源码下载及校验

ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/mysql-5.6.17.tar.gzftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz.md5MD5:82114fa7c13fa3ca897b34666577d9f4mysql-5.6.17.tar.gz

下载成功后应当确保它的MD5校验和与提供的MySQL下载页上的相匹配。每个安装软件包有唯一的校验和,可以用下面的命令来验证:

#md5summysql-5.6.17.tar.gz
82114fa7c13fa3ca897b34666577d9f4mysql-5.6.17.tar.gz

 

2. 建立mysql数据目录

这里把mysql的数据目录放在逻辑卷上,以下为创建逻辑卷的步骤:

2.1 准备分区

#fdisk/dev/sdb
DevicecontainsneitheravalidDOSpartitiontable,norSun,SGIorOSFdisklabel
BuildinganewDOSdisklabelwithdiskidentifier0xa17a3b70.
Changeswillremaininmemoryonly,untilyoudecidetowritethem.
Afterthat,ofcourse,thepreviouscontentwon'tberecoverable.

Warning:invalidflag0x0000ofpartitiontable4willbecorrectedbyw(rite)

WARNING:DOS-compatiblemodeisdeprecated.It'sstronglyrecommendedto
switchoffthemode(command'c')andchangedisplayunitsto
sectors(command'u').

Command(mforhelp):n
Commandaction
eextended
pprimarypartition(1-4)
p
Partitionnumber(1-4):1
Firstcylinder(1-2610,default1):
Usingdefaultvalue1
Lastcylinder,+cylindersor+size{K,M,G}(1-2610,default2610):+8G

Command(mforhelp):n
Commandaction
eextended
pprimarypartition(1-4)
p
Partitionnumber(1-4):2
Firstcylinder(1046-2610,default1046):
Usingdefaultvalue1046
Lastcylinder,+cylindersor+size{K,M,G}(1046-2610,default2610):+8G

Command(mforhelp):p

Disk/dev/sdb:21.5GB,21474836480bytes
255heads,63sectors/track,2610cylinders
Units=cylindersof16065*512=8225280bytes
Sectorsize(logical/physical):512bytes/512bytes
I/Osize(minimum/optimal):512bytes/512bytes
Diskidentifier:0xa17a3b70

DeviceBootStartEndBlocksIdSystem
/dev/sdb111045839393183Linux
/dev/sdb2104620908393962+83Linux

Command(mforhelp):t
Partitionnumber(1-4):1
Hexcode(typeLtolistcodes):8e
Changedsystemtypeofpartition1to8e(LinuxLVM)

Command(mforhelp):t
Partitionnumber(1-4):2
Hexcode(typeLtolistcodes):8e
Changedsystemtypeofpartition2to8e(LinuxLVM)

Command(mforhelp):p

Disk/dev/sdb:21.5GB,21474836480bytes
255heads,63sectors/track,2610cylinders
Units=cylindersof16065*512=8225280bytes
Sectorsize(logical/physical):512bytes/512bytes
I/Osize(minimum/optimal):512bytes/512bytes
Diskidentifier:0xa17a3b70

DeviceBootStartEndBlocksIdSystem
/dev/sdb11104583939318eLinuxLVM
/dev/sdb2104620908393962+8eLinuxLVM

Command(mforhelp):w
Thepartitiontablehasbeenaltered!

Callingioctl()tore-readpartitiontable.
Syncingdisks.

2.2 创建逻辑卷并格式化

#pvcreate/dev/sdb{1,2}
Physicalvolume"/dev/sdb1"successfullycreated
Physicalvolume"/dev/sdb2"successfullycreated
#vgcreatemyvg/dev/sdb{1,2}
Volumegroup"myvg"successfullycreated
#lvcreate-L10G-nmylvmyvg
Logicalvolume"mylv"created
#lvs
LVVGAttrLSizePoolOriginData%MoveLogCpy%SyncConvert
lv_homeVolGroup-wi-ao----65.57g
lv_rootVolGroup-wi-ao----50.00g
lv_swapVolGroup-wi-ao----3.94g
mylvmyvg-wi-a-----10.00g
#mke2fs-text4-b2049-LMYDATA/dev/myvg/mylv

2.3 挂载逻辑卷到/mydata

#mkdir/mydata
#echo'LABEL=MYDATA/mydataext4defaults00'>>/etc/fstab
#mount-a

2.4 创建mysql用户,创建mysql数据目录/mydata/data并修改data目录的属主属组均为mysql

#useradd-rmysql
#mkdir/mydata/data
#chown-Rmysql:mysql/mydata/data
#df-lh/mydata/data/
FilesystemSizeUsedAvailUse%Mountedon
/dev/mapper/myvg-mylv9.9G77M9.3G1%/mydata

 

3.建立编译环境及mysql编译安装时选项说明

3.1. mysql-5.6.17编译时常用选项

MySQL自5.5版本以后编译需要使用cmake,cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。

 

下表列出了常用编译工具的调用语法和等效的CMake命令。“.”表示你当前的工作目录路径,请根据你所在的目录,适当的替换掉路径“.”

 

./configure命令 CMake命令
./configure cmake .
./configure --help cmake . -LH or ccmake .
在重新配置或重新构建之前,需要先清除旧的对象文件和缓存信息,方法如下:
make命令 cmake命令

makeclean

rmconfig.cache

makeclean

rmCMakeCache.txt

安装参数选项
在下表中,“CMAKE_INSTALL_PREFIX”的值表示的是安装根目录,其他参数值的路径都是相对于根目录的,当然你也可以直接使用绝对路径,具体如下:
参数值说明 CMak选项
安装根目录 -DCMAKE_INSTALL_PREFIX=/usr
mysqld目录 -DINSTALL_SBINDIR=sbin
数据存储目录 -DMYSQL_DATADIR=/mydata/data
配置文件(my.cnf)目录 -DSYSCONFDIR=/etc/mysql
插件目录 -DINSTALL_PLUGINDIR=lib64/mysql/plugin
手册文件目录 -DINSTALL_MANDIR=share/man
共享数据目录 -DINSTALL_SHAREDIR=share
Library库目录 -DINSTALL_LIBDIR=lib64/mysql
Header安装目录 -DINSTALL_INCLUDEDIR=include/mysql
信息文档目录 -DINSTALL_INFODIR=share/info

指定安装文件的安装路径时常用的选项:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql

-DMYSQL_DATADIR=/data/mysql

-DSYSCONFDIR=/etc

存储引擎
默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1

若要明确指定不编译某存储引擎,可以使用类似如下的选项:

-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1 比如:

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库
readline库 -DWITH_READLINE=1
SSL库 -DWITH_SSL=system
zlib库 -DWITH_ZLIB=system
libwrap库 -DWITH_LIBWRAP=0
其它常用的选项:
选项 说明
-DMYSQL_TCP_PORT=3306  
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock  
-DENABLED_LOCAL_INFILE=1  
-DEXTRA_CHARSETS=all  
-DDEFAULT_CHARSET=utf8  
-DDEFAULT_COLLATION=utf8_general_ci  
-DWITH_DEBUG=0  
-DENABLE_PROFILING=1  

 

3.2 安装编译工具cmake:

 

#yum-yinstallcmake

 

4. 编译安装及初始化

4.1. 编译安装:

#tar-xvfmysql-5.6.17.tar.gz&&cdmysql-5.6.17
#cmake.-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DMYSQL_DATADIR=/mydata/data\
-DSYSCONFDIR=/etc-DWITH_INNOBASE_STORAGE_ENGINE=1\
-DWITH_ARCHIVE_STORAGE_ENGINE=1-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
-DWITH_READLINE=1-DWITH_SSL=system-DWITH_ZLIB=system-DWITH_LIBWRAP=0\
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
#make&&makeinstall

4.2. 修改mysql安装目录的属主和属组属主为root,属组mysql

#cd/usr/local/mysql/
#chown-R.mysql.

4.3. 为mysql提供主配置文件

#cpsupport-files/my-default.cnf/etc/my.cnf
#vi/etc/my.cnf
datadir=/mydata/data#添加

4.4. 为mysql提供sysv服务脚本

#cpsupport-files/mysql.server/etc/rc.d/init.d/mysqld
#chmod+x/etc/rc.d/init.d/mysqld

4.5. 添加至服务列表

#chkconfig--addmysqld
#chkconfig--listmysqld
mysqld0:off1:off2:on3:on4:on5:on6:off

4.6. 输出mysql的man手册至man命令的查找路径

#vim/etc/man.config
MANPATH/usr/local/mysql/man#添加

4.7. 输出mysql的头文件至系统头文件路径/usr/include

#ln-sv/usr/local/mysql/include//usr/include/mysql

 

4.8. 输出mysql的库文件到系统库查找路径

#echo'/usr/local/mysql/lib'>/etc/ld.so.conf.d/mysql.conf
#ldconfig-v|grepmysql

4.9. 改PATH环境变量,让系统可以直接使用mysql的相关命令

#echo'exportPATH=/usr/local/mysql/bin:$PATH'>/etc/profile.d/mysqld.sh&&source/etc/profile
#echo$PATH

4.10.初始化数据库

#scripts/mysql_install_db--user=mysql--datadir=/mydata/data

4.11.启动数据库并测试

#servicemysqldstart
StartingMySQL.....SUCCESS

登录测试:

#mysql-uroot-p-Dmysql#登录数据库

-u:用户名
-p:密码
-D:默认打开的数据库


mysql>SELECThost,user,passwordFROMuser;#查看授权表
+-----------------------+------+----------+
|host|user|password|
+-----------------------+------+----------+
|localhost|root||
|localhost.localdomain|root||
|127.0.0.1|root||
|::1|root||
|localhost|||
|localhost.localdomain|||
+-----------------------+------+----------+
6rowsinset(0.00sec)

 

Tag标签: mysql  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规