mysql5.5手动编译安装及编译参数介绍

1:下载:
统一压缩包:内部打包,cmake-2.8.8.tar.gz,bison-2.4.2.tar.bz,mysql-5.5.25.tar.gz
下载地址
http://l4.yunpan.cn/lk/181qksy3vu
CMAKE是一个跨平台的编译工具,C代表 CROSS-PLATFORM。
Bison 软件包包括一个语法分析程序生成器,这个包可以通过YUM安装。
#Make工具最主要也是最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作。而makefile文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系
其它下载地址:
http://pkgs.fedoraproject.org/repo/pkgs/cmake/cmake-2.8.8.tar.gz/ba74b22c788a0c8547976b880cd02b17/cmake-2.8.8.tar.gz
http://ftp.gnu.org/gnu/bison/bison-2.5.tar.gz
http://ftp.gnu.org/gnu/make/make-3.82.tar.gz
#mysql
http://218.249.165.35/download/27766543/35297966/1/gz/209/166/1339488302545_422/mysql-5.5.25.tar.gz
http://dl.mysql.cn/mysql5/5.5/mysql-5.5.24.tar.gz
1.安装简介
1.1:安装环境
uname -a
Linux kkk 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux
[root@kkk soft]# more /etc/redhat-release
CentOS release 6.2 (Final)
1.2:用户和目录环境
用户名:mysql
安装目录:/mysql
数据库目录:/mysqldata
安装文件存放目录:/soft
源码包:mysql-5.5.25.tar.gz
1.3:安装准备
准备工作:
新建用户和用户组
groupadd mysql
useradd -g mysql mysql
建立安装目录
mkdir /mysql
mkdir /mysqldata
mkdir /soft
2:安装依赖软件包
yum源安装
yum install gcc gcc-c++ cmake  ncurses-devel bison

编译安装。
cmake-2.8.8.tar.gz #CMAKE是一个跨平台的编译工具,C代表 CROSS-PLATFORM
tar -zxvf cmake-2.8.8.tar.gz
cd cmake-2.8.8
./configure
make && make install

make-3.82.tar.gz   #编译工具
tar zxvf make-3.82.tar.gz
cd make-3.8.2
./configure
make && make install
bison-2.4.2.tar.bz2 #Bison 软件包包括一个语法分析程序生成器
tar zxvf bison-2.5.tar.gz
cd bison-2.5
./configure
make && make install

3.编译安装mysql数据库最新版5.5.25
3.1:解压mysql-5.5.25.tar.gz
tar zxvf mysql-5.5.25.tar.gz
3.2:进入安装目录
cd mysql-5.5.25
3.3:定制编译参数,然后开始编译
CFLAGS="-O3" CXX=gcc
CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti"
cmake -DMYSQL_USER=mysql \
-DCMAKE_INSTALL_PREFIX=/mysql \
-DMYSQL_DATADIR=/mysqldata \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1  \
-DWITH_DEBUG=0 \
-DMYSQL_TCP_PORT=3308 \
-DSYSCONFDIR=/mysql
3.4,:编译完成,安装软件包
make && make install

make -j 2 && make install
注:-j 用来指定CPU核心数,可加快编译速度,不加也可以。
4:安装完成配置
4.1 :变更mysql安装目录权限
chown -R mysql:mysql /mysql
4.2:选择合适的配置文件,copy到配置文件目录
cp /soft/mysql-5.5.25/support-files/my-large.cnf /mysql/my.cnf
4.3:配置mysql启动服务
cp /soft/mysql-5.5.25/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --level 345 mysqld on
4.4:初始化数据库
/mysql/scripts/mysql_install_db --user=mysql \
--defaults-file=/mysql/my.cnf \
--basedir=/mysql \
--datadir=/mysqldata
4.5:导入mysql环境变量,方便mysql管理
echo "export PATH=/mysql/bin:$PATH" >>/etc/profile
source /etc/profile
5:mysql启动关闭
[root@ser1 ~]# /etc/init.d/mysqld start #启动
[root@ser1 ~]# /etc/init.d/mysqld stop #关闭
6:mysql进程查看
[root@ser1 ~]# lsof -n -i:3306
COMMAND   PID  USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
mysqld  32681 mysql   11u  IPv4 1057074      0t0  TCP *:mysql (LISTEN)
[root@ser1 ~]# ps -ef |grep mysql
root       351 30693  0 10:18 pts/0    00:00:00 grep mysql
root     32429     1  0 09:53 pts/0    00:00:00 /bin/sh /opt/mysql/bin/mysqld_safe --datadir=/opt/mysql/mysqldata
--pid-file=/opt/mysql/mysqldata/ser1.pid
mysql    32681 32429  0 09:53 pts/0    00:00:00 /opt/mysql/bin/mysqld --basedir=/opt/mysql --
datadir=/opt/mysql/mysqldata --plugin-dir=/opt/mysql/lib/plugin --user=mysql --log-
error=/opt/mysql/mysqldata/ser1.err --pid-file=/opt/mysql/mysqldata/ser1.pid --socket=/tmp/mysql.sock --port=3306

[root@ser1 ~]# netstat -a|grep mysql
tcp        0      0 *:mysql                     *:*                         LISTEN     
unix  2      [ ACC ]     STREAM     LISTENING     1057075 /tmp/mysql.sock
7.登录数据库
mysql #登录
7.1:查看库
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| jj                 |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)
7.2 查看系统变量及其值,调优的参考值;
mysql> show variables;  
+-----------------------------------------+------------------------------------
| Variable_name                           | Value                             
+-----------------------------------------+------------------------------------
| basedir                                 | /opt/mysql     #安装目录                    
| character_set_connection                | utf8            #字体                  
| character_set_database                  | utf8                              
| character_set_filesystem                | binary                            
| character_set_results                   | utf8                     #中间部分内容省略         
| character_set_server                    | utf8                              
| character_set_system                    | utf8                              
| character_sets_dir                      | /opt/mysql/share/charsets/        
| collation_connection                    | utf8_general_ci                   
| collation_database                      | utf8_general_ci                   
| collation_server                        | utf8_general_ci                   
| completion_type                         | NO_CHAIN                          
| concurrent_insert                       | AUTO                              
| connect_timeout                         | 10                                
| datadir                                 | /opt/mysql/mysqldata/             
| date_format                             | %Y-%m-%d                          
| datetime_format                         | %Y-%m-%d %H:%i:%s                 
| default_storage_engine                  | InnoDB                            
                                                                              
| general_log                             | OFF                               
| general_log_file                        | /opt/mysql/mysqldata/ser1.log     #错误日志
| group_concat_max_len                    | 1024                              
| lc_messages_dir                         | /opt/mysql/share/                 
| lc_time_names                           | en_US                             
| license                                 | GPL                               
| local_infile                            | ON                                
| lock_wait_timeout                       | 31536000                          
| locked_in_memory                        | OFF                               
| log                                     | OFF                               
| log_bin                                 | ON                                
| log_bin_trust_function_creators         | OFF                               
| log_error                               | /opt/mysql/mysqldata/ser1.err     

| optimizer_prune_level                   | 1                                 
| optimizer_search_depth                  | 62                                
| performance_schema                      | OFF                               
| performance_schema_max_thread_instances | 1000                              
| pid_file                                | /opt/mysql/mysqldata/ser1.pid      #pid文件
| plugin_dir                              | /opt/mysql/lib/plugin/            
| port                                    | 3306                              
| relay_log_info_file                     | relay-log.info                    
| relay_log_purge                         | ON                                
| slave_type_conversions                  |                                   
| slow_launch_time                        | 2                                 
| slow_query_log                          | OFF                               
| slow_query_log_file                     | /opt/mysql/mysqldata/ser1-slow.log
| socket                                  | /tmp/mysql.sock                    $sock文件位置          
| sort_buffer_size                        | 524288                            
                                                                              
| version                                 | 5.5.25-log                        
| version_comment                         | Source distribution               
| warning_count                           | 0                                 
| version_compile_machine                 | i686                              
| version_compile_os                      | Linux                             
| wait_timeout                            | 28800                             
8:编译参数说明
从mysql5.5起,mysql源码安装开始使用cmake。下面是 mysql 5.5 与以前的参数对照:
configure               Command CMake Command
./configure             cmake .
./configure --help      cmake . -LH or ccmake .
参数说明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data //数据库存放目录
-DWITH_MYISAM_STORAGE_ENGINE=1 //安装myisam存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 //安装innodb存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 //安装archive存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 //安装blackhole存储引擎
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
-DDEFAULT_CHARSET=utf8   //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校验字符
-DEXTRA_CHARSETS=all   //安装所有扩展字符集
-DMYSQL_TCP_PORT=3306 //MySQL监听端口
-DMYSQL_USER=mysql //MySQL用户名
其他参数:
-DWITH-EMBEDDED_SERVER=1 //编译成embedded MySQL library (libmysqld.a)
-DSYSCONFDIR=/etc //MySQL配辑文件
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock //Unix socket 文件路径
-DWITH_READLINE=1 //快捷键功能
-DWITH_SSL=yes //SSL
-DWITH_MEMORY_STORAGE_ENGINE=1 //安装memory存储引擎
-DWITH_FEDERATED_STORAGE_ENGINE=1 //安装frderated存储引擎
-DWITH_PARTITION_STORAGE_ENGINE=1 //安装数据库分区
-DINSTALL_PLUGINDIR=/usr/local/mysql/plugin //插件文件及配置路径
BUILD_CONFIG   采用官方发行版一致的编译参数
CMAKE_BUILD_TYPE 指定产品编译说明信息   RelWithDebInf
CMAKE_INSTALL_PREFIX 指定MySQL安装路径  /usr/local/mysql
CPACK_MONOLITHIC_INSTALL是否建立单个安装包文件 OFF  
DEFAULT_CHARSET  MYSQL 默认字符集  latin1  
DEFAULT_COLLATION MYSQL 默认排序字符集  latin1_swedish_ci
ENABLE_DEBUG_SYNC 是否启用同步调试功能  ON  
ENABLE_DOWNLOADS 是否下载可选文件  OFF  
ENABLE_DTRACE  是否包含 DTrace 支持    
ENABLE_GCOV  是否包含 Gcov 支持     5.5.14
ENABLED_LOCAL_INFILE 是否启用本地 LOAD DATA INFILE OFF  
ENABLED_PROFILING 是否启用代码查询分析  ON  
INSTALL_BINDIR  MySQL 主执行文件目录  PREFIX/bin 
INSTALL_DOCDIR  文档安装路径   PREFIX/docs 
INSTALL_DOCREADMEDIR 自述文件目录   PREFIX  
INSTALL_INCLUDEDIR 头文件目录   PREFIX/include 
INSTALL_INFODIR  关于信息文件目录  PREFIX/docs 
INSTALL_LAYOUT  选择预定义的安装  STANDALONE 
INSTALL_LIBDIR  库文件目录   PREFIX/lib 
INSTALL_MANDIR  手册页面目录   PREFIX/man 
INSTALL_MYSQLSHAREDIR 共享数据目录   PREFIX/share 
INSTALL_MYSQLTESTDIR mysql-test 目录   PREFIX/mysql-test
INSTALL_PLUGINDIR 插件目录   PREFIX/lib/plugin
INSTALL_SBINDIR  服务器超级用户执行文件目录 PREFIX/bin 
INSTALL_SCRIPTDIR 脚本目录   PREFIX/scripts 
INSTALL_SHAREDIR aclocal/mysql.m4 安装目录 PREFIX/share 
INSTALL_SQLBENCHDIR sql-bench 性能测试工具目录 PREFIX  
INSTALL_SUPPORTFILESDIR 扩展支持文件目录  PREFIX/support-files
MYSQL_DATADIR  数据库存放目录     
MYSQL_MAINTAINER_MODE 是否启用MySQL的维护环境  OFF  
MYSQL_TCP_PORT  TCP/IP 端口号   3306  
MYSQL_UNIX_ADDR  Unix Socket 套接字文件  /tmp/mysql.sock 
SYSCONFDIR  选项配置文件目录    
WITH_COMMENT  编译环境发表评论    
WITH_DEBUG  是否包括调试支持  OFF  
WITH_EMBEDDED_SERVER 是否要建立嵌入式服务器  OFF  
WITH_xxx_STORAGE_ENGINE 静态编译xxx 存储引擎到服务器   
WITH_EXTRA_CHARSETS 额外的字符集,包括  all  
WITH_LIBWRAP  是否包括支持libwrap(TCP包装) OFF  
WITH_READLINE  使用捆绑的readline  OFF  
WITH_SSL  是否支持SSL  no  
WITH_ZLIB  是否支持Zlib  system  
WITHOUT_xxx_
注意:
重新编译时,需要清除旧的对象文件和缓存信息
make clean
rm -f  CMakeCache.txt

转载自  http://michaelkang.blog.51cto.com/1553154/935133

你可能感兴趣的:(mysql5.5)