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

Posted 无锋剑客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于mysql5.5手动编译安装及编译参数介绍的主要内容,如果未能解决你的问题,请参考以下文章

mysql5.5 免编译安装及脚本启动报错深入

九周第四次课(2月26日) 11.1 LAMP架构介绍 11.2 MySQLMariaDB介绍 11.3/11.4/11.5 MySQL安装 扩展 mysql5.5源码编译安装

MySQL5.5.52编译安装

编译部署mysql5.7.13

mysql5.5的安装与配置(亲测版)

MySQL5.5编译安装