MySQL5.5编译安装

#一.安装环境

  • 系统版本
[root@localhost ~]# head -n 1 /etc/issue
CentOS release 6.5 (Final)
  • 软件版本 cmake-3.3.0-rc3.tar.gz mysql-5.5.48.tar.gz
  • 安装编译代码需要环境
yum -y groupinstall "Development Tools"
 yum install -y ncurses ncurses-devel 

#二.安装Cmake

# tar xvf cmake-3.3.0-rc3.tar.gz
# cd cmake-3.3.0-rc3
根据里面的README.rst文件,运行
# ./bootstrap
没有error则
# make && make install

#三.编译MySQL5.5使用参数解释 | cmake配置选项 | 作用 | |------------|-----------| |-DCMAKE_INSTALL_PREFIX |指定安装根目录| |-DMYSQL_DATADIR|指定数据存储目录| |-DSYSCONFDIR |配置文件(my.cnf)目录| |-DWITH_MYISAM_STORAGE_ENGINE|启用MYISAM引擎支持| |-DWITH_INNOBASE_STORAGE_ENGINE=1 |启用InnoDB引擎支持| |-DWITH_MEMORY_STORAGE_ENGINE=1 |启用MEMORY引擎支持| |-DWITH_READLINE |绑定readline的终端快捷键及历史记录功能,在mysql5.6已移除| |-DMYSQL_UNIX_ADDR|UNIX套接字文件路径。必须是绝对路径名| |-DMYSQL_TCP_PORT |指定TCP端口| |-DENABLED_LOCAL_INFILE |是否启用对负荷数据文件在客户端库地方能力| 可参考: mysql5.6使用cmake配置选项官方介绍 mysql5.7使用cmake配置选项官方介绍


#四.编译安装MySQL5.5

# tar xvf mysql-5.5.48.tar.gz -C /usr/local/
# cd /usr/local/
创建一个硬连接,主要是可以查看mysql的版本号。
# ln -sv mysql-5.5.48 mysql
# cd mysql
查看各个文件的权限和属主属组
# ll 
total 648
drwxr-xr-x.  2 7161 wheel   4096 Jan 14 21:47 BUILD
-rw-r--r--.  1 7161 wheel   8528 Jan 14 21:38 BUILD-CMAKE
drwxr-xr-x.  2 7161 wheel   4096 Jan 14 21:47 client
drwxr-xr-x.  4 7161 wheel   4096 Jan 14 21:47 cmake
-rw-r--r--.  1 7161 wheel  19216 Jan 14 21:38 CMakeLists.txt
drwxr-xr-x.  4 7161 wheel   4096 Jan 14 21:47 cmd-line-utils
-rw-r--r--.  1 7161 wheel  18583 Jan 14 21:38 config.h.cmake
-rw-r--r--.  1 7161 wheel  33523 Jan 14 21:38 configure.cmake
drwxr-xr-x.  3 7161 wheel   4096 Jan 14 21:47 extra
drwxr-xr-x.  4 7161 wheel   4096 Jan 14 21:47 include
-rw-r--r--.  1 7161 wheel 412459 Jan 14 21:47 INSTALL-SOURCE
-rw-r--r--.  1 7161 wheel    247 Jan 14 21:38 INSTALL-WIN-SOURCE
drwxr-xr-x.  3 7161 wheel   4096 Jan 14 21:47 libmysql
drwxr-xr-x.  3 7161 wheel   4096 Jan 14 21:47 libmysqld
drwxr-xr-x.  2 7161 wheel   4096 Jan 14 21:47 libservices
drwxr-xr-x.  2 7161 wheel   4096 Jan 14 21:47 man
drwxr-xr-x.  5 7161 wheel   4096 Jan 14 21:47 support-files
-rw-r--r--.  1 7161 wheel     88 Jan 14 21:38 VERSION
....
查看README和INSTALL-SOURCE,了解安装信息,如下:
shell> yum search libaio  # search for info
shell> yum install libaio # install library
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
# Next command is optional
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
...

######上面的安装步骤是建立在已编译好的程序上的。那么,现在我们也开始准备编译mysql源码:

# yum install libaio
# groupadd mysql
# useradd -r -g mysql -s /bin/false mysql
# cd /usr/local/mysql
# chown -R mysql.mysql .
# mkdir /data
# chown -R mysql /data
# chmod u+x scripts/*

用cmake编译
# cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

如果想清理此前的编译所生成的文件,则需要使用如下命令:
make clean
rm CMakeCache.txt

# make && make install
使用# scripts/mysql_install_db --help 查看初始化mysql的帮助信息
# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data --user=mysql
# chown -R root /usr/local/mysql/*
# cp support-files/mysql.server /etc/init.d/mysqld
查看mysqld有没有执行权限,如没有,则:
 # chmod +x /etc/init.d/mysqld
 然后继续添加服务自启:
 # chkconfig --add mysqld
 # chkconfig --list mysqld

TIPS: mysql查找配置文件的位置,按照如下的顺序查找。 /etc/my.cnf -->/etc/mysql/my.cnf -->$BASEDIR/my.cnf(安装目录) -->~/.my.cnf(家目录) 一一查询完后,以最后一个为准。 根据自己主机的资源,配置选择my.cnf。

# cp support-files/my-large.cnf /etc/my.cnf
在/etc/my.cnf的[mysqld]中添加datadir = /data

#五.将mysql的安装目录的bin加入PATH:

  • 方法一:
将
PATH=$PATH:/usr/local/mysql/bin
export PATH
这两行加入到/etc/profile的末尾,注意不要在等号的左右加空格,不然会报错。
# source /etc/profile
  • 方法二:
在/etc/profile.d目录下面创建mysqld.sh,添加
PATH=$PATH:/usr/local/mysql/bin

#六.输出mysql的man手册至man命令的查找路径: 如果你使用的是最小系统安装,则没有安装man手册,执行如下命令安装man手册:

yum install -y man-pages man-pages-overrides
cp /etc/man.config.rpmnew /etc/man.config

编辑/etc/man.config,添加如下行即可:

MANPATH  /usr/local/mysql/man

#七.输出mysql的头文件至系统头文件路径/usr/include: 这可以通过简单的创建链接实现:

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

#八.输出mysql的库文件给系统库查找路径:

# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
而后让系统重新载入系统库:
# ldconfig -v

到此结束。动手做一做吧!

转载于:https://my.oschina.net/u/2366409/blog/688635

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值