mysql 5.5 重新编译安装_mysql 5.5 以上编译安装

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__STORAGE_ENGINE=1

如:

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

若想禁用某个引擎的支持:-DWITHOUT__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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值