编译安装MySQL-5.6
来源:互联网 发布:在到处之间找我知乎 编辑:程序博客网 时间:2024/06/05 08:19
编译安装MySQL-5.6
cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。
一、安装cmake
跨平台编译器
# tar xf cmake-2.8.5.tar.gz
# cd cmake-2.8.5
# ./bootstrap
# make
# make install
二、编译安装mysql-5.6.17
1、使用cmake编译mysql-5.6.17
cmake指定编译选项的方式不同于make,其实现方式对比如下:
./configure cmake .
./configure --help cmake . -LH or ccmake .
指定安装文件的安装路径时常用的选项:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/data/mysql
-DSYSCONFDIR=/etc
默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
若要明确指定不编译某存储引擎,可以使用类似如下的选项:
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
其它常用的选项:
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DENABLED_LOCAL_INFILE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_DEBUG=0
-DENABLE_PROFILING=1
如果想清理此前的编译所生成的文件,则需要使用如下命令:
make clean
rm CMakeCache.txt
[root@node1 cmake-2.8.5]# cat /etc/redhat-release
[root@node1 cmake-2.8.5]# uname -a
[root@node1 cmake-2.8.5]# cd tools/
[root@node1 cmake-2.8.5]# tar xf cmake-2.8.5.tar.gz
[root@node1 cmake-2.8.5]# cd cmake-2.8.5
[root@node1 cmake-2.8.5]# ./configure
#CMake has bootstrapped. Now run gmake.
[root@Template cmake-2.8.5]# gmake
[root@Template cmake-2.8.5]# gmake install
[root@Template cmake-2.8.5]# echo $?
[root@Template cmake-2.8.5]# yum install ncurses-devel -y
[root@Template cmake-2.8.5]# cd ..
[root@Template tools]# tar xf mysql-5.6.17.tar.gz
[root@Template tools]# cd mysql-5.6.17
[root@Template mysql-5.6.17]# groupadd mysql
[root@Template mysql-5.6.17]# useradd mysql -s /sbin/nologin -M -g mysql
[root@Template mysql-5.6.17]# mkdir -pv /mydata/data
[root@Template mysql-5.6.17]#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
[root@Template mysql-5.6.17]# make && make install
[root@Template mysql]# chown -R :mysql /usr/local/mysql/
[root@template mysql]# cd /usr/local/mysql/
[root@template mysql-5.6.17]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
[root@template mysql-5.6.17]# cp support-files/my-default.cnf /etc/my.cnf
[root@template mysql-5.6.17]# cp support-files/mysql.server /etc/init.d/mysqld
[root@template mysql-5.6.17]# chkconfig --add mysqld
[root@template mysql-5.6.17]# service mysqld start
[root@Template ~]# vim /etc/profile.d/mysql.sh
export PATH=$PATH:/usr/local/mysql/bin
[root@Template ~]# . /etc/profile.d/mysql.sh
[root@Template ~]# vim /etc/my.cnf
datadir = /mydata/data
错误处理:
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:83 (MESSAGE):
Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readline.cmake:118 (FIND_CURSES)
cmake/readline.cmake:214 (MYSQL_USE_BUNDLED_READLINE)
CMakeLists.txt:268 (MYSQL_CHECK_READLINE)
-- Configuring incomplete, errors occurred!
缺少curses包,下载地址如下ftp://invisible-island.net/ncurses/ncurses.tar.gz
下载并安装,然后删除CMakeCache.txt,重新执行编译命令即可
cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。
一、安装cmake
跨平台编译器
# tar xf cmake-2.8.5.tar.gz
# cd cmake-2.8.5
# ./bootstrap
# make
# make install
二、编译安装mysql-5.6.17
1、使用cmake编译mysql-5.6.17
cmake指定编译选项的方式不同于make,其实现方式对比如下:
./configure cmake .
./configure --help cmake . -LH or ccmake .
指定安装文件的安装路径时常用的选项:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/data/mysql
-DSYSCONFDIR=/etc
默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
若要明确指定不编译某存储引擎,可以使用类似如下的选项:
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
其它常用的选项:
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DENABLED_LOCAL_INFILE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_DEBUG=0
-DENABLE_PROFILING=1
如果想清理此前的编译所生成的文件,则需要使用如下命令:
make clean
rm CMakeCache.txt
[root@node1 cmake-2.8.5]# cat /etc/redhat-release
[root@node1 cmake-2.8.5]# uname -a
[root@node1 cmake-2.8.5]# cd tools/
[root@node1 cmake-2.8.5]# tar xf cmake-2.8.5.tar.gz
[root@node1 cmake-2.8.5]# cd cmake-2.8.5
[root@node1 cmake-2.8.5]# ./configure
#CMake has bootstrapped. Now run gmake.
[root@Template cmake-2.8.5]# gmake
[root@Template cmake-2.8.5]# gmake install
[root@Template cmake-2.8.5]# echo $?
[root@Template cmake-2.8.5]# yum install ncurses-devel -y
[root@Template cmake-2.8.5]# cd ..
[root@Template tools]# tar xf mysql-5.6.17.tar.gz
[root@Template tools]# cd mysql-5.6.17
[root@Template mysql-5.6.17]# groupadd mysql
[root@Template mysql-5.6.17]# useradd mysql -s /sbin/nologin -M -g mysql
[root@Template mysql-5.6.17]# mkdir -pv /mydata/data
[root@Template mysql-5.6.17]#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
[root@Template mysql-5.6.17]# make && make install
[root@Template mysql]# chown -R :mysql /usr/local/mysql/
[root@template mysql]# cd /usr/local/mysql/
[root@template mysql-5.6.17]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
[root@template mysql-5.6.17]# cp support-files/my-default.cnf /etc/my.cnf
[root@template mysql-5.6.17]# cp support-files/mysql.server /etc/init.d/mysqld
[root@template mysql-5.6.17]# chkconfig --add mysqld
[root@template mysql-5.6.17]# service mysqld start
[root@Template ~]# vim /etc/profile.d/mysql.sh
export PATH=$PATH:/usr/local/mysql/bin
[root@Template ~]# . /etc/profile.d/mysql.sh
[root@Template ~]# vim /etc/my.cnf
datadir = /mydata/data
错误处理:
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:83 (MESSAGE):
Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readline.cmake:118 (FIND_CURSES)
cmake/readline.cmake:214 (MYSQL_USE_BUNDLED_READLINE)
CMakeLists.txt:268 (MYSQL_CHECK_READLINE)
-- Configuring incomplete, errors occurred!
缺少curses包,下载地址如下ftp://invisible-island.net/ncurses/ncurses.tar.gz
下载并安装,然后删除CMakeCache.txt,重新执行编译命令即可
0 0
- mysql 5.6编译安装
- 编译安装MySQL-5.6
- 编译安装mysql 5.6
- Mysql 5.6.22编译安装
- Mysql-5.6.28编译安装
- Centos 5.6编译安装mysql 5.5.11
- CentOS 6.4 编译安装 MySQL-5.6
- CentOS 6.4 优化编译安装MySQL-5.6
- CentOS 编译源码安装MySQL-5.6.16
- CentOS 6.5编译安装MySQL 5.6.16
- Centos 编译安装mysql 5.6.21
- 关于mysql 5.5和5.6编译安装
- 源码编译安装MySQL 5.6.22
- 源码编译安装MySQL 5.6.22
- 关于mysql 5.5和5.6编译安装
- CentOS 6.4下编译安装MySQL 5.6
- Ubuntu14.04 编译安装 MySQL-5.6.22
- SUSE Linux源码编译安装MySQL 5.6
- c++_1: 基础问题
- WS-I: (BP2120) A binding has operations that are not unique.
- Lua学习笔记--元表和元方法
- ctype.h
- android中的category
- 编译安装MySQL-5.6
- 项目三——是否二叉排序树?
- 回溯法解旅行商问题(TSP)
- 如何进行程序设计?
- 获取iOS内存的使用情况
- MyEclipse编辑JSP报Unhandled event loop exception错误的解决办法
- Light OJ: 1275 - Internet Service Providers【数学】
- 排序之选择排序(Java实现版)
- 读《深入理解计算机系统》