CentOS 6.0 上的MySQL 5.5 编译安装详解

CentOS 6.0 MySQL 5.5 详细安装说明

系统的准备工作

1.最小化(Minimize)安装系统,一来用不上的软件包不用装,二来节约硬盘空间
2.安装系统部分基础软件包

# yum install setuptool ntsysv system-config-network-tui system-config-firewall-tui perl automake autoconf cmake

//文本图形设置工具,系统服务,网络配置,防火墙配置,Perl解析器,automake 配置

# yum install gcc gcc-c++ flex bison autoconf automake bzip2-devel zlib-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel openssl-devel libxml2-devel gettext-devel pcre-devel curl-devel openldap-devel libmcrypt libmcrypt-devel libmhash libmhash-devel libtool libtool-ltdl gd gd-devel
//同时在YUM安装上LAMP环境必须用到的相关软件包。

开始安装Mysql 5.5

Mysql 编译参数详解(取自官方)

命令   说明    默认值   版本支持

BUILD_CONFIG   采用官方发行版一致的编译参数
CMAKE_BUILD_TYPE 指定产品编译说明信息   RelWithDebInf
CMAKE_INSTALL_PREFIX 指定MySQL安装路径  /usr/local/mysql
CPACK_MONOLITHIC_INSTALL是否建立单个安装包文件 OFF   5.5.7
DEFAULT_CHARSET  MYSQL 默认字符集  latin1   5.5.7
DEFAULT_COLLATION MYSQL 默认排序字符集  latin1_swedish_ci 5.5.7
ENABLE_DEBUG_SYNC 是否启用同步调试功能  ON   5.5.7
ENABLE_DOWNLOADS 是否下载可选文件  OFF   5.5.7
ENABLE_DTRACE  是否包含 DTrace 支持     5.5.7
ENABLE_GCOV  是否包含 Gcov 支持     5.5.14
ENABLED_LOCAL_INFILE 是否启用本地 LOAD DATA INFILE OFF   5.5.7
ENABLED_PROFILING 是否启用代码查询分析  ON   5.5.7
INSTALL_BINDIR  MySQL 主执行文件目录  PREFIX/bin  5.5.7
INSTALL_DOCDIR  文档安装路径   PREFIX/docs  5.5.7
INSTALL_DOCREADMEDIR 自述文件目录   PREFIX   5.5.7
INSTALL_INCLUDEDIR 头文件目录   PREFIX/include  5.5.7
INSTALL_INFODIR  关于信息文件目录  PREFIX/docs  5.5.7
INSTALL_LAYOUT  选择预定义的安装  STANDALONE  5.5.7
INSTALL_LIBDIR  库文件目录   PREFIX/lib  5.5.7
INSTALL_MANDIR  手册页面目录   PREFIX/man  5.5.7
INSTALL_MYSQLSHAREDIR 共享数据目录   PREFIX/share  5.5.7
INSTALL_MYSQLTESTDIR mysql-test 目录   PREFIX/mysql-test 5.5.7
INSTALL_PLUGINDIR 插件目录   PREFIX/lib/plugin 5.5.7
INSTALL_SBINDIR  服务器超级用户执行文件目录 PREFIX/bin  5.5.7
INSTALL_SCRIPTDIR 脚本目录   PREFIX/scripts  5.5.7
INSTALL_SHAREDIR aclocal/mysql.m4 安装目录 PREFIX/share  5.5.7
INSTALL_SQLBENCHDIR sql-bench 性能测试工具目录 PREFIX   5.5.7
INSTALL_SUPPORTFILESDIR 扩展支持文件目录  PREFIX/support-files 5.5.7
MYSQL_DATADIR  数据库存放目录      5.5.7
MYSQL_MAINTAINER_MODE 是否启用MySQL的维护环境  OFF   5.5.7
MYSQL_TCP_PORT  TCP/IP 端口号   3306   5.5.7
MYSQL_UNIX_ADDR  Unix Socket 套接字文件  /tmp/mysql.sock  5.5.7
SYSCONFDIR  选项配置文件目录     5.5.7
WITH_COMMENT  编译环境发表评论     5.5.7
WITH_DEBUG  是否包括调试支持  OFF   5.5.7
WITH_EMBEDDED_SERVER 是否要建立嵌入式服务器  OFF   5.5.7
WITH_xxx_STORAGE_ENGINE 静态编译xxx 存储引擎到服务器    5.5.7
WITH_EXTRA_CHARSETS 额外的字符集,包括  all   5.5.7
WITH_LIBWRAP  是否包括支持libwrap(TCP包装) OFF   5.5.7
WITH_READLINE  使用捆绑的readline  OFF   5.5.7
WITH_SSL  是否支持SSL  no   5.5.7
WITH_ZLIB  是否支持Zlib  system   5.5.7
WITHOUT_xxx_

# cd mysql-5.5-source
// 进入mysql 源码包目录
# CFLAGS=”-O3″ CXX=gcc
# CXXFLAGS=”-O3 -felide-constructors -fno-exceptions -fno-rtti”
//配置GCC编译器优化参数,可选

# cmake . -LH|more
//查看Mysql 编译参数配置说明

# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/var/lib/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock -DMYSQL_USER=mysql -DSYSCONFDIR=/etc/mysql
// 根据配置参数设置MySQL 安装路径,数据目录,SOCKET及配置文件路径

# make -j 8 && make install
//开始编译并安装,-j 参数可选用来指定CPU核心数,可加快编译速度,服务器双路4核这里用了8

# cd /usr/local/mysql
# useradd -M -d /var/lib/mysql -s /sbin/nologin mysql
# scripts/mysql_install_db –user=mysql –datadir=/var/lib/mysql
//添加mysql 用户,并初始化数据库

# chown -R root:mysql .   //设置权限,注意后面有一个 “.”
# chown -R mysql /var/lib/mysql   //设置 mysql 目录权限
# chgrp -R mysql .    //注意后面有一个 “.”

# mkdir -pv /etc/mysql
# cp support-files/my-medium.cnf /etc/mysql/my.cnf
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
//开机自动启动 mysql。

# vi /etc/rc.d/init.d/mysqld
// 修改启动脚本中的 mysqlbase 和 mysqldata 路径(可选)

# chmod 755 /etc/rc.d/init.d/mysqld
# chkconfig –add mysqld
//设置mysqld 服务开机启动

# echo “/usr/local/mysql/lib/mysql” >> /etc/ld.so.conf && ldconfig
//添加MySQL 库文件搜索路径,防止依赖Mysql 的第三方软件找不到库文件

# vi /etc/mysql/my.cnf
修改 MySQL 配置,在 mysqld 字段增加数据库路径参数,如下:

[mysqld]
datadir = /var/lib/mysql

运行以下命令即可启动 MySQL 服务器:

# service mysqld start      //启动 MySQL
# bin/mysqladmin -u root password “新密码”  //””内为新密码
# service mysqld stop      //关闭 MySQL

//注意为了不必要的麻烦,密码不要用 $ # 类的符号

# bin/mysql -uroot -p密码
>grant all privileges on *.* to root @”%” identified by “密码”;    //赋予ROOT远程访问>flush privileges;                                                   //刷新主机
>exit  //退出
//为root 账号增加远程访问权限,可选
———————————–
linux下设置mysql的环境变量,方便直接使用mysql 命令:
在/etc/profile 文件结尾中添加:
export PATH=$PATH:/usr/local/mysql/bin

完成。

 

作者: Su

等待完善