mysql版本5.5以上编译安装时需要用到软件cmake,cmake特性是独立于源码编译,编译工作可以在另外一个目录中而非源码目录中进行,好处是可以保证源码目录不受任何一次编译的影响。

1.下载安装cmake

 

[root@zhu3 ~]# wget http://www.cmake.org/files/v2.8/cmake-2.8.11.2.tar.gz
[root@zhu3 ~]# tar zxvf cmake-2.8.11.2.tar.gz
[root@zhu3 ~]# cd  cmake-2.8.11.2
[root@zhu3 ~]# ./bootstrap
[root@zhu3 ~]# make && make install

cmake安装完成

2.安装mysql5.5以上的版本

 

[root@zhu3 ~]# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.13.tar.gz/from/http://cdn.mysql.com/
[root@zhu3 ~]# tar zxvf mysql-5.6.13.tar.gz
[root@zhu3 ~]# cd mysql-5.6.13
[root@zhu3 ~]# cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci  -DWITH_EXTRA_CHARSETS=all -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_SSL=yes   -DENABLED_LOCAL_INFILE=1

3.mysql安装后的设置

1.修改权限

 

[root@zhu3 ~]# chown -R root.mysql /opt/mysql/
[root@zhu3 ~]# chown -R mysql.mysql /opt/mysql/data/

 

2.初始化数据库

 

[root@zhu3 ~]# /opt/mysql/scripts/mysql_install_db --user=mysql
FATAL ERROR: Could not find ./bin/my_print_defaults
If you compiled from source, you need to run 'make install' to
copy the software into the correct location ready for operation.
If you are using a binary release, you must either be at the top
level of the extracted archive, or pass the --basedir option
pointing to that location.
#初始化碰到这个错误是因为没有指定安装目录以及存放数据的目录,

 

[root@zhu3 ~]# /opt/mysql/scripts/mysql_install_db --user=mysql --basedir=/opt/mysql/ --datadir=/opt/mysql/data/

3.复制配置文件my.cnf

 

[root@zhu3 ~]# cp /opt/mysql/support-files/my-default.cnf /etc/my.cnf

4.启动

 

[root@zhu3 ~]# /opt/mysql/bin/mysqld_safe &
[1] 18401
[root@zhu3 ~]# 130909 23:28:07 mysqld_safe Logging to '/opt/mysql/data/zhu3.err'.
130909 23:28:07 mysqld_safe Starting mysqld daemon with databases from /opt/mysql/data
[root@zhu3 ~]# ps -ef | grep mysql
root     18401 22774  2 23:28 pts/0    00:00:00 /bin/sh /opt/mysql/bin/mysqld_safe
mysql    18491 18401 81 23:28 pts/0    00:00:03 /opt/mysql/bin/mysqld --basedir=/opt/mysql --datadir=/opt/mysql/data --plugin-dir=/opt/mysql/lib/plugin --user=mysql --log-error=/opt/mysql/data/zhu3.err --pid-file=/opt/mysql/data/zhu3.pid
root     18515 18245  0 23:28 pts/2    00:00:00 grep mysql

cmake编译参数详解:http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html

-DCMAKE_INSTALL_PREFIX=dir_name  :用于指定安装目录

-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1  :常用存储引擎参数设置

 

-DDEFAULT_CHARSET=charset_name

The server character set. By default, MySQL uses the latin1 (cp1252 West European) character set. 

charset_name may be one of binaryarmscii8asciibig5cp1250cp1251cp1256cp1257cp850cp852cp866cp932dec8eucjpmseuckrgb2312gbkgeostd8greekhebrewhp8keybcs2koi8rkoi8ulatin1latin2latin5latin7maccemacromansjisswe7tis620ucs2ujisutf8utf8mb4utf16utf16leutf32. The permissible character sets are listed in the cmake/character_sets.cmake file as the value of CHARSETS_AVAILABLE

-DENABLED_LOCAL_INFILE=bool  :bool值表示(1表示允许该功能,0表示没有改功能)

 

-DMYSQL_UNIX_ADDR=file_name

The Unix socket file path on which the server listens for socket connections. This must be an absolute path name. The default is /tmp/mysql.sock