博客列表 >Linux CentOS6.x环境下关于MySQL5.7.17的源码编译安装配置

Linux CentOS6.x环境下关于MySQL5.7.17的源码编译安装配置

yeyiluLAMP
yeyiluLAMP原创
2017年08月08日 18:30:43977浏览

关闭防火墙iptables

service iptables stop

chkconfig iptables off

关闭SELINUX
vi /etc/selinux/config
SELINUX=enforcing #注释掉
SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加
:wq 保存,关闭

#使配置立即生效

setenforce 0


# 安装 ncurses

Ncurses 提供字符终端处理库,包括面板和菜单。它提供了一套控制光标,建立

窗口,改变前景背景颜色以及处理鼠标操作的函数。使用户在字符终端下编写应

用程序时绕过了那些恼人的底层机制。简而言之,他是一个可以使应用程序直接

控制终端屏幕显示的函数库。

1、

yum -y install ncurses-devel  注:如果报错,包找不到,是 *通配符没有识别,

给文件名加双引号 "ncurses*"

yum -y install gcc-c++ ncurses-devel  make perl

* 若不安装 ncurses 编译 MySQL时会报错

*--without-ada 参数为设定不编译为 ada 绑定,因进入 chroot 环境不能使用 ada;

--enable-overwrite 参数为定义把头文件安装到 /tools/include 下而不是

/tools/include/ncurses 目录

* --with-shared  生成共享库

#安装 cmake和 bison

mysql 在 5.5 以后,不再使用 ./configure 工具,进行编译安装。而使用 cmake工具替代

了./configure 工具。 cmake的具体用法参考文档 cmake说明。

bison 是一个自由软件,用于自动生成语法分析器程序,可用于所有常见的操作

系 统

yum -y install cmake bison

下载zlib

官网地址:http://zlib.net/

下载完成之后上传至wincp

tar -zxvf zlib-1.2.11.tar.gz

cd zlib-1.2.11

./configure --prefix=/usr/local/zlib

make && make install

创建伪用户

groupadd mysql

useradd -g mysql mysql

*添加用户组 mysql,将 mysql 用户默认组设置为 mysql 用户组

MySQL5.7.17下载地址:

http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.17.tar.gz 

通过wincp工具上传到centos目录下

解压缩

tar -zxvf mysql-boost-5.7.17.tar.gz

cd mysql-5.7.17/

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DEXTRA_CHARSETS=all \

-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_USER=mysql \

-DMYSQL_TCP_PORT=3306 \

-DENABLE_DOWNLOADS=1 \

-DWITH_BOOST=boost/boost_1_59_0/


相关安装参数的说明:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql  安装位置

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock  指定 socket (套接字)文件位置

-DEXTRA_CHARSETS=all  扩展字符支持

-DDEFAULT_CHARSET=utf8  默认字符集

-DDEFAULT_COLLATION=utf8_general_ci  默认字符校对

-DWITH_MYISAM_STORAGE_ENGINE=1  安装 myisam 存储引擎

-DWITH_INNOBASE_STORAGE_ENGINE=1  安装 innodb 存储引擎

-DWITH_MEMORY_STORAGE_ENGINE=1  安装 memory存储引擎

-DWITH_READLINE=1  支持 readline 库

-DENABLED_LOCAL_INFILE=1  启用加载本地数据

-DMYSQL_USER=mysql  指定 mysql 运行用户

-DMYSQL_TCP_PORT=3306  指定 mysql 端口

-DWITH_BOOST=boost/boost_1_59_0/ 这一行是指定boost库的位置,
如果下载的不是mysql-boost-5.7.17.tar.gz 这个已经包含boost库的包,
那么需要在配置项中指明下载 boost 库 当然这样比较慢,所以还是建议下载完整包
直接cmake指定参数 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory> 系统会下载 boost



make

make install

#如果报错,清除缓存,请使用以下的两条命令(如果没有报错则忽略)

make clean

rm -rf CMakeCache.txt


进入MySQL目录

cd /usr/local/mysql/

chown -R mysql .

chgrp -R mysql .

#修改 mysql 目录权限

Mysql 5.7以前

/usr/local/mysql/scripts/mysql_install_db --user=mysql

MySQL5.7以后

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

#创建数据库授权表,初始化数据库

cd /usr/local/mysql

chown -R root .

chown -R mysql data

#修改 mysql 目录权限

Mysql.5.5

cp support-files/my-medium.cnf /etc/my.cnf

Mysql5.6 mysql5.7

cp  support-files/my-default.cnf  /etc/my.cnf


#复制 mysql 配置文件

/usr/local/mysql/scripts/mysql_install_db --user=mysql

启动 MySQL服务:

1. 用原本源代码的方式去使用和启动 mysql

/usr/local/mysql/bin/mysqld_safe --user=mysql &

2. 重启以后还要生效 :

vi  /etc/rc.local

/usr/local/mysql/bin/mysqld_safe --user=mysql &

:wq 保存退出

将MySQL加入/etc/rc.d/init.d/ 启动服务

cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

chmod +x /etc/rc.d/init.d/mysqld


至此,MySQL源码编译安装已经完成 ^_^ ......

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议