您的位置:首页 > 数据库 > SQL

高可用架构篇 MySQL源码编译安装(CentOS-6.6+MySQL-5.6)

2017-10-23 14:08 916 查看
点击有惊喜

部署环境

操作系统:CentOS-6.6-x86_64-bin-DVD1.iso

MySQL版本:mysql-5.6.26.tar.gz                                                                    

操作用户:root

系统IP:192.168.1.205

主机名:edu-mysql-01

配置:4核、4G内存      

                                                                                             

 一、服务器配置:

1、配置网络

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

NM_CONTROLLED=no

ONBOOT=yes

TYPE=Ethernet

HWADDR=00:50:56:a1:12:53

IPADDR=192.168.1.205

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

DNS1=223.5.5.5

DNS2=223.6.6.6

 

2、设置主机名

# vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=edu-mysql-01

 

3、设置IP与主机名的映射

# vi /etc/hosts

127.0.0.1 edu-mysql-01

192.168.1.205 edu-mysql-01

 

4、两台数据库服务器的的selinux都要disable

(永久关闭selinux,请修改/etc/selinux/config,将SELINUX改为disabled)

# vi /etc/selinux/config

SELINUX=disabled

 

5、重启操作系统

# reboot

 

二、源码安装MySQL5.6.26:

1、使用下面的命令检查是否安装有MySQL
Server:

# rpm -qa | grep mysql

mysql-libs-5.1.73-3.el6_5.x86_64

如果是CentOS7以上,请使用以下命令查看:

# rpm -qa | grep mariadb

mariadb-libs-5.5.41-2.el7_0.x86_64

(因为没有MySQL服务,因此没必要卸载。mysql-libs是MySQL的必要包)

(如果有的话可通过下面的命令来卸载掉,rpm
-e mysql //普通删除模式)

 

2、改防火墙设置,打开3306端口:

# vi /etc/sysconfig/iptables

增加如下行:

## MySQL

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

 

重启防火墙:

# service iptables restart

 

3、新增mysql用户组:

# groupadd mysql

 

4、新增mysql用户,并添加到mysql用户组:

# useradd -r -g mysql mysql

 

5、新建MySQL执行文件目录(后面会把编译好的mysql程序安装到这个目录):

# mkdir -p /usr/local/mysql

(-p 参数的作用是:如果最终目录的父目录不存在也会一并创建)

 

6、新建MySQL数据库数据文件目录:

# mkdir -p /home/mysql/data

# mkdir -p /home/mysql/logs

# mkdir -p /home/mysql/temp

(注意:上面的logs及temp目录是为了以后将MySQL的数据文件与执行程序文件分离,如果你打算设置到不同的路径,注意修改对应的执行命令和数据库初始化脚本。正式生产环境,建议数据目录和日志目录都使用单独的分区来挂载,不同分区属于不同的磁盘或磁盘组。)

 

7、增加PATH环境变量搜索路径:

# vi /etc/profile

##在profile文件末尾增加两行

# mysql env param

PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH

export PATH

 

使PATH搜索路径立即生效:

# source /etc/profile

 

8、安装编译MySQL需要的依赖包:

(mysql从5.5版本开始,不再使用./configure编译,而是使用cmake编译器,具体的cmake编译参数可以参考mysql官网文档

http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html,安装基本依赖包,先用yum安装cmake、automake
、autoconf ,另MySQL 5.5.x需要最少安装的包有:bison,gcc、gcc-c++、ncurses-devel):

 

# yum install make cmake gcc gcc-c++ bison bison-devel ncurses ncurses-devel autoconf
automake

 

9、进入/usr/local/src目录,上传mysql-5.6.26.tar.gz源代码到/usr/local/src目录:

# cd /usr/local/src

 

10、开始编译安装mysql-5.6.26:

解压缩源码包:

# tar -zxvf mysql-5.6.26.tar.gz

进入解压缩源码目录:

# cd mysql-5.6.26

使用cmake源码安装mysql(如果你打算安装到不同的路径,注意修改下面语句中/usr/local/mysql和/home/mysql/data路径!)

 

[root@edu-mysql-01 mysql-5.6.26]# cmake
\

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DMYSQL_DATADIR=/home/mysql/data \

-DMYSQL_USER=mysql \

-DMYSQL_TCP_PORT=3306 \

-DENABLE_DOWNLOADS=1

 

上面的这些复制完,回车,然后就开始cmake的过程,一般时间不会很长。

配置解释:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 设置安装目录

-DMYSQL_DATADIR=/home/mysql/data 设置数据库存放目录

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock 设置UNIX
socket 目录

-DMYSQL_USER=mysql 设置运行用户

-DDEFAULT_CHARSET=utf8 设置默认字符集,默认latin1

-DEFAULT_COLLATION=utf8_general_ci 设置默认校对规则,默认latin1_general_ci

-DWITH_INNOBASE_STORAGE_ENGINE=1 添加InnoDB引擎支持

-DENABLE_DOWNLOADS=1 自动下载可选文件,比如自动下载谷歌的测试包

-DMYSQL_TCP_PORT=3306 设置服务器监听端口,默认3306

-DSYSCONFDIR=/etc 设置my.cnf所在目录,默认为安装目录)

 

执行过程中会出现:

CMake Error: Problem with tar_extract_all(): Invalid argument

CMake Error: Problem extracting tar: /usr/local/src/mysql-5.6.26/source_downloads/gmock-1.6.0.zip

解决方法:

cd mysql目录下面会发现有一个source_downloads目录,需要解压unzip
gmock-1.6.0.zip,然后再重新执行上述配置过程。当然你也可以去掉-DENABLE_DOWNLOADS=1这个选项,不编译谷歌的测试包也没有什么问题,但是之前的某些版本会出现无法编译的问题.

 

11、cmake结束后开始编译源码,这一步时间会较长,请耐心等待:

# make

 

12、安装编译好的程序:

# make
install

(注意:如果需要重装mysql,在/usr/local/src/mysql-5.6.26在执行下make
install就可以了,不需要再cmake和make)

 

13、清除安装临时文件:

# make clean

点击有惊喜

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: