文档章节

mysql 5.5 以上编译安装

从前
 从前
发布于 2013/06/15 14:44
字数 1122
阅读 185
收藏 4

mysql 5.5 以上的版本 社区版采用的是cmake 编译安装,不再采用之前gnu autotools 工具的 ./configure make make install安装了。

1. 系统环境

无论是centos还是debian ,都需要安装一些基础软件,例如gcc等:

gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool*

yum -y install

apt-get install

2.安装

1 下载软件
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.tar.gz
wget http://gd.tuwien.ac.at/db/mysql/Downloads/MySQL-5.6/mysql-5.6.12.tar.gz

准备

cd /usr/local
mkdir mysql
cd mysql
mkdir data
groupadd mysql
useradd –r –g mysql mysql
mkdir /usr/local/mysql/data  (数据文件夹)
chown –R mysql.mysql /usr/local/mysql/data

2 安装

cmake 的编译参数通过这里查看

tar xzvf cmake-2.8.10.tar.gz
cd cmake-2.8.10
./bootstrap
make
make install
cd mysql-5.6.12
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_INNOBASE_STORAGE_ENGINE=1\
-DWITH_ARCHIVE_STORAGE_ENGINE=1\
-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1\
-DWITH_READLINE=yes \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_TCP_PORT=3306
make
make install

3. 更改文件夹权限和初始化数据库
cd /usr/local/mysql
chown –R mysql .
chgrp –R mysql .

复制配置文件,启动
cp support-files/my-medium.cnf /etc/my.cnf
#初始化 table
chmod 755 scripts/mysql_install_db 
 scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/       #此处指定用user用户运行
chown –R root .
chown –R mysql data

nohup ./bin/mysqld_safe --defaults-file=/etc/my.cnf &             #后台运行
#开机启动
cp support-files/mysql.server /etc/init.d/mysql.server   # 系统服务
chkconfig --add mysql.server       #开机启动

 这里启动的时候会报一警告:

 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

请在 my.cnf 文件里配置 explicit_defaults_for_timestamp=true

后记:

1.mysql 编译时参数 autotools 和 CMAKE 的一些对比

斜体是较常用的(以下内容摘自mysql官方网站)http://forge.mysql.com/wiki/Autotools_to_CMake_Transition_Guide
参数 configure 选项 CMake 选项 CMake 说明
主安装目录 --prefix=/usr -DCMAKE_INSTALL_PREFIX=/usr
mysqld 目录 --libexecdir=/usr/sbin -DINSTALL_SBINDIR=sbin 该目录相对--prefix,相当于/usr/sbin,不要加前缀(以下标“同上”的一样)
数据目录 --localstatedir=/var/lib/mysql -DMYSQL_DATADIR=/var/lib/mysql  
配置文件my.cnf 目录 --sysconfdir=/etc/mysql -DSYSCONFDIR=/etc/mysql  
插件目录 --with-plugindir=/usr/lib64/mysql/plugin -DINSTALL_PLUGINDIR=lib64/mysql/plugin 同上
Man page 目录 --mandir=/usr/share/man -DINSTALL_MANDIR=share/mysql 同上
共享数据目录 --sharedstatedir=/usr/share/mysql -DINSTALL_SHAREDIR=share aclocal/mysql.m4 安装目录
库安装目录 --libdir=/usr/lib64/mysql -DINSTALL_LIBDIR=lib64/mysql 同上
Header 安装目录 --includedir=/usr/include/mysql -DINSTALL_INCLUDEDIR=include/mysql 同上
信息文档目录 --infodir=/usr/share/info -DINSTALL_INFODIR=share/info 同上
存储引擎也是做为插件安装的,configure 方式接受 --with-plugins 参数指定参数方式以逗号分隔或组名形式安装插件,但在 CMake 中各存储引擎是以参数形式单独配置的,以下几个较常用:
-DWITH_INNOBASE_STORAGE_ENGINE=1                  INNODB 引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1                     ARCHIVE 引擎

-DWITH_BLACKHOLE_STORAGE_ENGINE=1              BLACKHOLE 引擎

常用的cmake参数(不同MySQL版本可能有一些差异,请参考官方文档)

-DCMAKE_INSTALL_PREFIX= 指向mysql安装目录
-DINSTALL_SBINDIR=sbin 指向可执行文件目录(prefix/sbin)
-DMYSQL_DATADIR=/var/lib/mysql 指向mysql数据文件目录(/var/lib/mysql)
-DSYSCONFDIR=/etc/mysql 指向mysql配置文件目录(/etc/mysql)
-DINSTALL_PLUGINDIR=lib/mysql/plugin 指向插件目录(prefix/lib/mysql/plugin)
-DINSTALL_MANDIR=share/man 指向man文档目录(prefix/share/man)
-DINSTALL_SHAREDIR=share 指向aclocal/mysql.m4安装目录(prefix/share)
-DINSTALL_LIBDIR=lib/mysql 指向对象代码库目录(prefix/lib/mysql)
-DINSTALL_INCLUDEDIR=include/mysql 指向头文件目录(prefix/include/mysql)
-DINSTALL_INFODIR=share/info 指向info文档存放目录(prefix/share/info)
prefix官方推荐设为/usr
Storage Engine相关
类型csv,myisam,myisammrg,heap,innobase,archive,blackhole
若想启用某个引擎的支持:-DWITH_<ENGINE>_STORAGE_ENGINE=1
如:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
若想禁用某个引擎的支持:-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
Library相关
-DWITH_READLINE=1 启用readline库支持(提供可编辑的命令行)
-DWITH_SSL=system 启用ssl库支持(安全套接层)
-DWITH_ZLIB=system 启用libz库支持(zib、gzib相关)
-DWTIH_LIBWRAP=0 禁用libwrap库(实现了通用TCP包装的功能,为网络服务守护进程使用)
-DMYSQL_TCP_PORT=3306 指定TCP端口为3306
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock 指定mysql.sock路径
-DENABLED_LOCAL_INFILE=1 启用本地数据导入支持
-DEXTRA_CHARSETS=all 启用额外的字符集类型(默认为all)
-DDEFAULT_CHARSET=utf8 指定默认的字符集为utf8
-DDEFAULT_COLLATION=utf8_general_ci 设定默认排序规则(utf8_general_ci快速/utf8_unicode_ci准确)
-DWITH_EMBEDDED_SERVER=1 编译嵌入式服务器支持
-DMYSQL_USER=mysql 指定mysql用户(默认为mysql)
-DWITH_DEBUG=0 禁用debug(默认为禁用)
-DENABLE_PROFILING=0 禁用Profiling分析(默认为开启)

2. mysql 编译时出现错误及解决方案

错误1:Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)
1. centos 下执行:yum -y install ncurses-devel
ubuntu 下执行:apt-get install libncurses5 libncurses5-dev
2. 删除 CMakeCache.txt,重新运行cmake


© 著作权归作者所有

从前

从前

粉丝 36
博文 75
码字总数 29813
作品 1
成都
程序员
私信 提问
OneinStack 1.2 发布,一键 PHP/JAVA 安装工具

这个脚本是使用 shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa/lnmt(Linux、Nginx/Tengine、 MySQL/MariaDB/Percona、PHP、Apache、Tomcat),适用于CentOS 5~7(包括redhat)、Deb...

lj2007331
2016/03/03
2.8K
10
linux web篇---之二--mysql编译安装

Mysql的安装 1、 Mysql提供的版本:社区版,企业版,集群版,Mysql workbench(gui tool)mysql图形化管理器,包含管理、查询等功能。Percona开源的mysql优化工具、 2、 安装包格式: (1)Rpm...

kuang_hp
2018/07/04
0
0
Mysql 升级到 5.5 GA 时,PHP 5.2.6 编译出错!已解决!

今天把原来的 Mysql 5.1.35 升级至 Mysql 5.5 GA 由于 Mysql-Dev 也一同更新了。 所以必须重新编译 PHP 5.2.6 环境。 但编译出错,出现以下各种错误。 而最终的解决方式,是升级 PHP 至最新的...

范堡
2010/12/16
992
1
MySQL 5.1升级到MySQL 5.5的步骤

mysql 5.5已经出来有一段时间,性能有明显提升,特别是对多核CPU的支持与TPS性能的提升。上周博主介绍了linux下编译安装mysql 5.5的步骤,安装不出意外基本没有问题。不过可能很多朋友和我一...

章郎虫
2014/02/25
827
0
Jemalloc优化MySQL和Nginx

Redis 2.4版本之后,默认使用jemalloc来做内存管理;tengine也整合jemalloc。jemalloc从各方评测的结果可见与google tcmalloc都不相伯仲,皆为内存管理器领域最高水平。如下图: 图片来源: ...

满小茂
2016/01/17
2.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
昨天
10
0
再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维...

Java技术剑
昨天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部