文档章节

MySQL5.5编译安装

bellpost
 bellpost
发布于 2016/06/08 11:50
字数 1153
阅读 18
收藏 0

#一.安装环境

  • 系统版本
[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

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

© 著作权归作者所有

共有 人打赏支持
bellpost
粉丝 1
博文 3
码字总数 2511
作品 0
荆州
python的MySQLdb不能根据mysql5.5进行编译?

centos 5.6 64位环境中,对已经安装好mysql5.5的系统,我想把python连接mysql的工具包MySQLdb进行编译,结果一直不行,但是在对mysql5.1就可以编译,编译好的客户端也能连接mysql5.5的serve...

毕成功
2012/02/29
280
0
MySQL 5.1.73升级为MySQL 5.5.35详解

一、前言 二、概述 三、安装MySQL 5.1.73 四、升级为MySQL 5.5.35 五、总结 注,测试环境 CentOS 6.4 x8664,MySQL 版本(5.1.73、5.5.35)目前最新版。下载地址:http://dev.mysql.com/down...

陈明乾
07/02
0
0
centos6.4下编译安装LNMP环境

自PHP-5.3.3起,PHP-FPM加入到了PHP核心,编译时加上--enable-fpm即可提供支持。 PHP-FPM以守护进程在后台运行,Nginx响应请求后,自行处理静态请求,PHP请求则经过fastcgipass交由PHP-FPM处...

fighting-cluber
2014/03/12
0
0
Ubuntu安装mysql乱码,Sock等问题的提问!

本人环境,Ubuntu14.04,。对于安装mysql的若干问题 我安装的是mysql5.5 用最简单的apt-get 安装,安装之后,插入中文数据出现乱码,网上一堆说修改my.cnf的说法,完全解决不了。 之后用源码编...

JianXinTan
2014/12/08
379
9
安装php工作在fast-cgi模式并用xcache加速

OS: centos6.7 软件版本:apache2.4,mysql5.5,php5.5,xcache3.2 确保已经安装的包组: Development Tools Server Platform Development Desktop Platform Development 一 安装mysql的通用二进......

码上有春天
2016/08/28
9
0

没有更多内容

加载失败,请刷新页面

加载更多

关于编程,你的练习是不是有效的?

最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即...

问题终结者
18分钟前
0
0
打开eclipse出现an error has occurred see the log file

解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。...

任梁荣
昨天
4
0
搞定Northwind示例数据库,无论哪个版本的SQLServer都受用

Northwind数据库 从这里可以找到突破口: http://social.msdn.microsoft.com/Forums/zh-CN/Vsexpressvb/thread/8490a1c6-9018-40c9-aafb-df9f79d29cde 下面是MSDN: http://msdn2.microsoft......

QQZZFT
昨天
1
0
mysql主从同步,安装配置操作

准备 两台mysql服务,我这里准备了如下: 主库:192.168.176.128 从库:192.168.176.131 如何在Linux上安装mysql服务,请看https://blog.csdn.net/qq_18860653/article/details/80250499 操作...

小致dad
昨天
4
0
Redis的“死键”问题

大规模的数据库存储系统中,数据的生命周期管理是很有必要的;从业务角度发现过期数据,数据归档和数据碎片整理等。以MySQL为例,1个运行很久的TB级MySQL实例中,极有可能数百GB的数据,对业...

IT--小哥
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部