Chinaunix首页 | 论坛 | 博客
  • 博客访问: 670104
  • 博文数量: 87
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2022
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-23 11:16
个人简介

西邮大三狗!!!

文章分类

全部博文(87)

文章存档

2015年(47)

2014年(40)

分类: 架构设计与优化

2014-11-04 17:43:26

废话不多说,直接开搞lnmp!
我用的是最简化安装lvm快照出来做实验用的虚拟机(系统rhel6.4)
请确定你的yum源配置正确,然后按照以下步骤编译我们的mysql
解决依赖性,安装如下软件包:
yum install -y gcc gcc-c++ make ncurses-devel bison openssl-devel zlib-devel cmake
tar zxvf mysql-5.5.12.tar.gz(不是最新版)
cd进去,指定我们的编译参数
cd mysql-5.5.12/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \#安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data \#数据库存放目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \ #Unix socket 文件路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \#安装 myisam 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \#安装 innodb 存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \#安装 archive 存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \#安装 blackhole 存储引擎
-DWITH_PARTITION_STORAGE_ENGINE=1 \#安装数据库分区
-DENABLED_LOCAL_INFILE=1 \#允许从本地导入数据
-DWITH_READLINE=1 \#快捷键功能
-DWITH_SSL=yes \#支持 SSL
-DDEFAULT_CHARSET=utf8 \#使用 utf8 字符
-DDEFAULT_COLLATION=utf8_general_ci \#校验字符
-DEXTRA_CHARSETS=all \#安装所有扩展字符集
-DMYSQL_TCP_PORT=3306 \#MySQL 监听端口
还有很多的参数,我会在下面贴出网友总结好的=。=
不出问题的话(如果报错,怎么办?看提示咯~),我们可以直接make && make install
这里需要大概10分钟(看电脑配置)的样子,上个厕所吧
重新编译时,需要清除旧的对象文件和缓存信息
make clean
rm -f CmakeCache.txt
如果系统没有mysql这个用户,添加:
useradd -M -s /sbin/nologin mysql
进入我们指定的安装目录,作如下调整
cd /usr/local/mysql
cp support-files/my-medium.cnf     /etc/my.cnf    #根据你的主机内存复制 mysql 配置文件
chown -R mysql.mysql .
./scripts/mysql_install_db   --user=mysql   --basedir=/usr/local/mysql    --datadir=/usr/local/mysql/data
chown -R root .
chown -R mysql data
cp support-files/mysql.server    /etc/init.d/mysqld(复制脚本)
service mysqld start
chkconfig mysqld on
vi ~/.bash_profile  (你可以选择在全局配置文件里面更改  /etc/profile)
PATH=$PATH:/usr/local/mysql/bin((把这个路径加到后面)
source ~/.bash_profile   用source命令我们的配置生效
mysql_secure_installation   按提示完成 mysql 安全设置,推荐在生产环境下使用
ln -s /usr/local/mysql/lib/*  /usr/local/mysql/lib64/*   不做链接的话, php 编译的时候会找不到 mysql 的库文件
mysql编译结束!

下面是网友总结的一些mysql编译参数,提供给热衷于源码编译安装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)
prefix官方推荐设为/usr
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' 一个关于编译环境的描述性注释


阅读(2772) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~