通用MYSQL5.5和5.6源码包安装

系统:REDHAT 6.3
安装方式:最小化安装
1、MYSQL5.5源码安装环境,依懒的安装包

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

2、或者源码编译,CMAKE(上面己经用rpm安装了),下载地址:

http://www.cmake.org/cmake/resources/software.html
cd cmake-2.8.6
./bootstrap
make && make install


3、添加用户

useradd -M -s /sbin/nologin mysql

在官方下载5.5.21源码包
http://www.mysql.com/downloads/mysql/
4、编译这个cmake你要装gcc gcc-c++等包,提示什么,你就装什么,我这里只提示这二个!
5.5配置:

cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql -DMYSQL_DATADIR=/data/mysql/data \
-DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/data/mysql/logs/mysqld.sock \
-DMYSQL_USER=mysql -DEXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

5.6配置:

cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql -DMYSQL_DATADIR=/data/mysql/data \
-DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/data/mysql/logs/mysqld.sock \
-DEXTRA_CHARSETS=all -DWITH_SSL=system -DENABLE_DOWNLOADS=1 \
-DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci


提示:
官方参考文档:点击打开
如果,你不想使用SSL,你也可以去掉-DWITH_SSL=system这个选项
如果编译,出现以下错误,可去掉-DWITHOUT_PARTITION_STORAGE_ENGINE=1这个选项,即可

../../../sql/libsql.a(handler.cc.o): In function `get_ha_partition(partition_info*)':
/root/mysql-5.6.13/sql/handler.cc:460: undefined reference to `ha_partition::ha_partition(handlerton*, partition_info*)'
/root/mysql-5.6.13/sql/handler.cc:462: undefined reference to `ha_partition::initialize_partition(st_mem_root*)'
../../../sql/libsql.a(sql_partition_admin.cc.o): In function `Sql_cmd_alter_table_truncate_partition::execute(THD*)':
/root/mysql-5.6.13/sql/sql_partition_admin.cc:822: undefined reference to `ha_partition::truncate_partition(Alter_info*, bool*)'
collect2: ld returned 1 exit status
make[2]: *** [storage/perfschema/unittest/pfs_connect_attr-t] Error 1
make[1]: *** [storage/perfschema/unittest/CMakeFiles/pfs_connect_attr-t.dir/all] Error 2
make: *** [all] Error 2
make&&make install

等待吧,看你机器的性能如何了

mkdir /data/mysql
cd /data/mysql
mkdir logs ibdata binlog data
chown -R mysql.mysql *
5、接着更改权限
ln -s /opt/mysql/bin/* /usr/bin/
cd /opt/mysql
./scripts/mysql_install_db --skip-name-resolve --datadir=/data/mysql/data/ --user=mysql

启动MYSQL

mysqld_safe --user=mysql&

6、关闭IPV6的方法

vim /etc/sysconfig/network
NETWORKING_IPV6="no"

加如上面一行

7、问题:
Curses library not found. Please install appropriate package

yum -y install ncurses-devel

以下是一些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)

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分析(默认为开启)
-DWITH_COMMENT='string' 一个关于编译环境的描述性注释