高可用架构篇 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
点击有惊喜
部署环境
操作系统: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
点击有惊喜
相关文章推荐
- 高可用架构篇 MySQL源码编译安装(CentOS-6.6+MySQL-5.6)
- 高可用架构篇 MySQL源码编译安装(CentOS-6.6+MySQL-5.6)
- 分布式架构高可用架构篇_06_MySQL源码编译安装(CentOS-6.7+MySQL-5.6)
- 分布式架构高可用架构篇_06_MySQL源码编译安装(CentOS-6.7+MySQL-5.6)
- MySQL源码编译安装(CentOS-6.6+MySQL-5.6)
- 分布式架构学习之:MySQL源码编译安装(CentOS-6.7+MySQL-5.6)
- MySQL5.6源码编译安装(CentOS-6.6+MySQL-5.6)(一)
- 分布式架构学习之:MySQL源码编译安装(CentOS-6.7+MySQL-5.6)
- 【MySQL学习笔记】CentOS 6.6上源码编译方式安装MySQL 5.6
- 分布式架构学习之:033--MySQL源码编译安装(CentOS-6.7+MySQL-5.6)
- centos 6.6编译安装mysql 5.6
- CentOS 6.6 下源码编译安装MySQL 5.7.5
- CentOS 7源码编译安装PHP5.6和Nginx1.7.9及MySQL(搭建LNMP环境)
- mysql5.6 源码编译安装 基于centOS6.8 Basic Server
- CentOS 6.6 下源码编译安装MySQL 5.7.5
- CentOS 6.6 下源码编译安装MySQL 5.7.5
- MySQL源码编译安装(CentOS6.7 + MySql5.6)
- centos6源码编译安装MySQL5.6
- CentOS 6.6 源码编译安装MySQL 5.7.18教程详解
- 大环境下MySQL5.6源码安装实战一步步教你 CentOS6.5_64bit下编译安装MySQL-5.6.23@guoyJoe