Percona Server 5.6源码编译

Percona现在没有对el7提供稳定的二进制发行包,所以今天小测一下mysql的源码编译,使用的源码为Percona Server 5.6.19-67,环境为CentOS 7.0。

1. 编译依赖

MySQL的编译依赖下面程序:
g++ MySQL从5.6开始需要使用g++来编译源码。
cmake MySQL从5.5开始,需要使用cmake 2.8+进行工程管理。
bison MySQL的语法解析器用于自动生成语法分析器程序,Bison把LALR形式的上下文无关文法描述转换为可做语法分析的C或C++程序
ncurses-devel 它提供了API,可以允许程序员编写独立于终端的基于文本的用户界面
libaio libaio是Linux下的一个异步非阻塞接口,它提供了以异步非阻塞方式来读写文件的方式,读写效率比较高。
zlib MySQL压缩支持
libxml 用于XML输入输出方式的支持,MySQL的可选功能依赖这个包。
openssl 使用openssl 安全socket方式进行通信
使用yum来安装:

yum install gcc-c++ make cmake bison bison-devel ncurses-devel libaio-devel openssl libxml2

2. 下载源代码

wget http://www.percona.com/redir/downloads/Percona-Server-5.6/LATEST/source/tarball/percona-server-5.6.19-67.0.tar.gz
tar xvzf percona-server-5.6.19-67.0.tar.gz

3. CMAKE常见的编译选项

CMAKE_BUILD_TYPE 编译的版本类型:RelWithDebInfo和Debug,不同之处是RelWithDebInfo会进行优化。
WITH_DEBUG 指定是否有debugging信息,一般用于源码调试时,打开WITH_DEBUG,生产环境关闭。
ENABLED_PROFILING 是否可以使用show profile显示操作执行的详细信息。
DEFAULT_CHARSET 默认字符集,可以在启动的配置文件中指定,默认为latin1,常用utf8,gbk等。
DEFAULT_COLLATION 默认字符比较、排序规则,默认为latin1_general_ci,常用utf8_general_ci,gbk_chinese_ci等。
WITH_EXTRA_CHARSETS 指定其他可能使用的字符集。
WITH_SSL 指定SSL的类型,从5.6.6开始默认bundled类型,此外也可以指定SSL库的路径地址。
WITH_ZLIB 指定zlib的类型,用于压缩功能。
WITH_ 指定编译支持的存储引擎,默认支持MyISAM,MERGE,MEMORY,CSV存储引擎。
WITH_EMBEDDED_SERVER 指定是否编译libmysqld嵌入式库。
INSTALL_LAYOUT 安装的布局类型。
CMAKE_INSTALL_PREFIX 指定make install安装的目标路径。
SYSCONFDIR 指定配置文件的默认路径。
MYSQL_DATADIR 指定data目录的默认路径。
CMAKE_INSTALL_PREFIX MySQL Server的安装路径
MYSQL_UNIX_ADDR 默认Socket文件的路径
MYSQL_TCP_PORT 默认端口
ENABLED_LOCAL_INFILE 是否可以load client本地文件,即load data local命令。默认情况下,常见的二进制release都开启了这个功能,而编译默认参数没有开启了这个功能。此外,mysqld的启动参数–local-infile=0同样可以关闭这个功能。(6.1.6 Security Issues with LOAD DATA LOCAL)
WITH_READLINE 启用类似shell的行编辑模式 但在这个版本中,该选项已经不存在,而行编辑的功能已经开启了。即可以使用下面的快捷键:
* ctrl+r 可以搜索历史命令,很常用的一个
* ctrl+a 到行首
* ctrl+e 到行尾
* ctrl+u 删除到行首
* ctrl+k 删除到行尾
* ctrl+l 类似 clear 命令效果
* ctrl+y 粘贴
mysqld-user mysqld的启动用户

4. 下面是编译和配置的过程

#cmake配置
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/var/mysql/data -DSYSCONFDIR=/etc \
-DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=gbk -DDEFAULT_COLLATION=gbk_chinese_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/mysql/run/mysqld.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1
 
#执行编译和安装
make -j && make install
 
#添加环境变量
vim /etc/profile
PATH=$PATH /usr/local/mysql/bin
 
#创建用户
useradd mysql
echo mysql > passwd --stdin mysql
 
#修改参数配置文件,和编译配置一致。
vim /etc/my.cnf
[mysqld]
datadir=/var/data/mysql
socket=/var/mysql/run/mysqld.sock
[mysqld_safe]
log-error=/var/log/mysql/mysqld.log
pid-file=/var/mysql/run/mysqld.pid
 
# 安装db
cd /usr/local/mysql
./scripts/mysql_install_db
 
# 创建目录
mkdir -p /var/data/mysql
mkdir -p /var/mysql/run
mkdir -p /var/log/mysql
chown mysql:mysql /var/data/mysql
chown mysql:mysql /var/mysql/run
chown mysql:mysql /var/log/mysql
 
# 启动mysqld
mysqld_safe &
 
# 修改root密码
mysql_secure_installation
 
# 登录mysql
mysql -u root -S /var/mysql/run/mysqld.sock -p

 

转载于:https://my.oschina.net/boltwu/blog/719817

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值