文档章节

MySQL5.5编译安装

bellpost
 bellpost
发布于 2016/06/08 11:50
字数 1153
阅读 16
收藏 0
点赞 0
评论 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
荆州
探索MySQL高可用架构之MHA(3)

探索MySQL高可用架构之MHA(3) -----构建mysql高可用系列(共9篇) 上一篇文章介绍了本次架构的基本实现功能、主机服务器规划、软件的版本、安装路径规划! 本篇文章主要介绍本次架构中的mysql...

顺境其生 ⋅ 2015/07/22 ⋅ 0

python的MySQLdb不能根据mysql5.5进行编译?

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

毕成功 ⋅ 2012/02/29 ⋅ 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...

陈明乾 ⋅ 2014/01/05 ⋅ 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

Ubuntu安装mysql乱码,Sock等问题的提问!

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

JianXinTan ⋅ 2014/12/08 ⋅ 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 ⋅ 0

源码安装MySQL

MySQL是开源的关系型数据库服务器软件mysql特点:多线程、多用户基于C/S(客户端/服务器)架构简单易用、查询速度快安全可靠 1、卸载原有的mysql2、安装mysql之前,需要安装软件开发软件包,...

李冬萌 ⋅ 01/08 ⋅ 0

centos6.9 centos7.3 正确安装mariadb的姿势

随着mysql被oracle公司收购之后,越来越多的公司都把自己的数据库转移到了mariadb数据库上面,其实mysql数据库和mariadb数据库的区别只是换个名字而已,内在的东西一模一样,下面我们就来说一...

键盘侠X ⋅ 2017/07/28 ⋅ 0

MySQL编译安装

在ubuntu-12.04.3-server-i386下编译安装MySQL5.6过程大致如下: cd ~sudo su -wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.14.tar.gz & apt-get install -y bzr bison libncu......

cwalet ⋅ 2013/11/29 ⋅ 0

Percona Server5.5 源码安装要编译吗?

想把服务器上的mysql换成Percona Server freebsd8上 mysql5.5 是不需要重新编译的 Percona Server说看mysql的发装 那是要编还不编?...

匿名t3a ⋅ 2013/05/26 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CENTOS7防火墙命令记录

安装Firewall命令: yum install firewalld firewalld-config Firewall开启常见端口命令: firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-po......

cavion ⋅ 43分钟前 ⋅ 0

【C++】【STL】利用chromo来测量程序运行时间与日志时间打印精确到微秒

直接上代码吧,没啥好说的。头疼。 #include <iostream>#include <string>#include <ctime>#include <sstream>#include <iomanip>#include <thread>#include <chrono>using ......

muqiusangyang ⋅ 46分钟前 ⋅ 0

Mac环境下svn的使用

在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简...

故久呵呵 ⋅ 55分钟前 ⋅ 0

破解公司回应苹果“USB限制模式”:已攻破

本周四,苹果发表声明称 iOS 中加入了一项名为“USB 限制模式”的功能,可以防止 iPhone 在连接其他设备的时候被破解,并且强调这一功能并不是针对 FBI 等执法部门,为的是保护用户数据安全。...

六库科技 ⋅ 57分钟前 ⋅ 0

MyBtais整合Spring Boot整合,TypeHandler对枚举类(enum)处理

概要 问题描述 我想用枚举类来表示用户当前状态,枚举类由 code 和 msg 组成,但我只想把 code 保存到数据库,查询处理,能知道用户当前状态,这应该怎么做呢?在 Spring 整合MyBatis 的时候...

Wenyi_Feng ⋅ 今天 ⋅ 0

synchronized与Lock的区别

# <center>王梦龙的读书笔记第一篇</center> ## <center>-synchronized与Lock的区别</centre> ###一、从使用场景来说 + synchronized 是能够注释代码块、类、方法但是它的加锁是和解锁使用一......

我不想加班 ⋅ 今天 ⋅ 0

VConsole的使用

手机端控制台打印输出,方便bug的排查。 首先需要引入vconsole.min.js 文件,然后在文件中创造实例。就能直接使用了。 var vConsole = new VConsole(); vConsole的文件地址...

大美琴 ⋅ 今天 ⋅ 0

Java NIO之字符集

1 字符集和编解码的概念 首先,解释一下什么是字符集。顾名思义,就是字符的集合。它的初衷是把现实世界的符号映射为计算机可以理解的字节。比如我创造一个字符集,叫做sex字符集,就包含两个...

士别三日 ⋅ 今天 ⋅ 0

Spring Bean基础

1、Bean之间引用 <!--如果Bean配置在同一个XML文件中,使用local引用--><ref bean="someBean"/><!--如果Bean配置在不同的XML文件中,使用ref引用--><ref local="someBean"/> 其实两种......

霍淇滨 ⋅ 今天 ⋅ 0

05、基于Consul+Upsync+Nginx实现动态负载均衡

1、Consul环境搭建 下载consul_0.7.5_linux_amd64.zip到/usr/local/src目录 cd /usr/local/srcwget https://releases.hashicorp.com/consul/0.7.5/consul_0.7.5_linux_amd64.zip 解压consu......

北岩 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部