设为首页 收藏本站
查看: 6264|回复: 0

[经验分享] mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz 在rhel 6.5上的编译安装

[复制链接]
累计签到:77 天
连续签到:1 天
发表于 2014-5-27 08:24:06 | 显示全部楼层 |阅读模式
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/my ... mysql-5.6.17.tar.gz

ftp://mirror.switch.ch/mirror/my ... l-5.6.17.tar.gz.md5

MD5 : 82114fa7c13fa3ca897b34666577d9f4  mysql-5.6.17.tar.gz
下载成功后应当确保它的MD5校验和与提供的MySQL下载页上的相匹配。每个安装软件包有唯一的校验和,可以用下面的命令来验证:
1
2
# md5sum  mysql-5.6.17.tar.gz  
82114fa7c13fa3ca897b34666577d9f4  mysql-5.6.17.tar.gz





2.  建立mysql数据目录
这里把mysql的数据目录放在逻辑卷上,以下为创建逻辑卷的步骤:
2.1  准备分区
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# fdisk  /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xa17a3b70.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): n   
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1   
First cylinder (1-2610, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +8G

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (1046-2610, default 1046):
Using default value 1046
Last cylinder, +cylinders or +size{K,M,G} (1046-2610, default 2610): +8G

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa17a3b70

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1045     8393931   83  Linux
/dev/sdb2            1046        2090     8393962+  83  Linux

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 8e
Changed system type of partition 2 to 8e (Linux LVM)

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa17a3b70

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1045     8393931   8e  Linux LVM
/dev/sdb2            1046        2090     8393962+  8e  Linux LVM

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.



2.2 创建逻辑卷并格式化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# pvcreate  /dev/sdb{1,2}
  Physical volume "/dev/sdb1" successfully created
  Physical volume "/dev/sdb2" successfully created
# vgcreate  myvg /dev/sdb{1,2}
  Volume group "myvg" successfully created
# lvcreate  -L 10G -n mylv myvg
  Logical volume "mylv" created
# lvs
  LV      VG       Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
  lv_home VolGroup -wi-ao---- 65.57g                                             
  lv_root VolGroup -wi-ao---- 50.00g                                             
  lv_swap VolGroup -wi-ao----  3.94g                                             
  mylv    myvg     -wi-a----- 10.00g                                             
# mke2fs -t ext4 -b 2049 -L MYDATA /dev/myvg/mylv



2.3 挂载逻辑卷到/mydata

1
2
3
# mkdir /mydata
# echo 'LABEL=MYDATA     /mydata   ext4 defaults 0 0 ' >> /etc/fstab
# mount -a



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

1
2
3
4
5
6
# useradd -r mysql
# mkdir /mydata/data
# chown  -R  mysql:mysql /mydata/data
# df -lh /mydata/data/
  Filesystem             Size  Used Avail Use% Mounted on
  /dev/mapper/myvg-mylv  9.9G   77M  9.3G   1% /mydata




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

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

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

./configure命令CMake命令
./configure cmake .
./configure --helpcmake . -LH or ccmake .
在重新配置或重新构建之前,需要先清除旧的对象文件和缓存信息,方法如下:
make命令cmake命令
make clean
rm config.cache
make clean
rm CMakeCache.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:


1
# yum -y install cmake





4. 编译安装及初始化

4.1.  编译安装:

1
2
3
4
5
6
7
8
# tar -xvf mysql-5.6.17.tar.gz  && cd mysql-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 && make install



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

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



4.3.  为mysql提供主配置文件

1
2
3
# cp support-files/my-default.cnf  /etc/my.cnf
# vi /etc/my.cnf
datadir = /mydata/data                           #添加



4.4.  为mysql提供sysv服务脚本
1
2
# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld



4.5.  添加至服务列表
1
2
3
# chkconfig  --add mysqld
# chkconfig --list mysqld
mysqld         0:off1:off2:on3:on4:on5:on6:off



4.6.  输出mysql的man手册至man命令的查找路径
1
2
# vim /etc/man.config
  MANPATH /usr/local/mysql/man   #添加



4.7.  输出mysql的头文件至系统头文件路径/usr/include
1
# ln -sv /usr/local/mysql/include/ /usr/include/mysql



4.8.  输出mysql的库文件到系统库查找路径
1
2
# echo  '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
# ldconfig -v | grep mysql



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

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



4.10. 初始化数据库
1
# scripts/mysql_install_db --user=mysql --datadir=/mydata/data



4.11. 启动数据库并测试
1
2
# service mysqld start
Starting MySQL..... SUCCESS



登录测试:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# mysql -uroot -p -D mysql   #登录数据库

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


mysql> SELECT host,user,password FROM user; #查看授权表
+-----------------------+------+----------+
| host                  | user | password |
+-----------------------+------+----------+
| localhost             | root |          |
| localhost.localdomain | root |          |
| 127.0.0.1             | root |          |
| ::1                   | root |          |
| localhost             |      |          |
| localhost.localdomain |      |          |
+-----------------------+------+----------+
6 rows in set (0.00 sec)



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-19665-1-1.html 上篇帖子: linux下安装mysql 下篇帖子: MySQL高可用之:MySQL-MMM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表