CentOS5.4安装源码MySQL5.5.38

安装环境

系统 CentOS 5.4 ,安装系统时顺带安装了开发工具包,自动包含gcc等,无需再单独安装,否则安装cmake时需要预先安装这类文件

cmake 3.0.0

MySQL 5.5.38

 

如果未安装gcc 执行如下步骤

 
yum -y install gcc
yum -y install gcc-c++
yum install make

-- 或者
yum groupinstall "Development Tools"

-- 或者
yum install gcc gcc-c++ kernel-devel

 

 

首先,安装cmake,官网目前最新的是3.0版本,

shell>tar zxvf cmake-3.0.0.tar.gz

shell>cd cmake-3.0.0

shell>./configure (或者执行./bootstrap 也可以)

shell>make

shell>make install

 

然后开始进行MySQL的安装

shell>tar zxvf mysql-5.5.38.tar.gz

shell>cd mysql-5.5.38

建立一个单独的子目录project,然后在project里编译安装

shell>mkdir project

shell>cd project

shell>cmake .. -DCMAKE_INSTALL_PREFIX:PATH=/usr/local/mysql -DCOMMUNITY_BUILD:BOOL=ON -DENABLED_PROFILING:BOOL=ON -DENABLE_DEBUG_SYNC:BOOL=OFF -DINSTALL_LAYOUT:STRING=STANDALONE -DMYSQL_DATADIR:PATH=/usr/local/mysql/data -DMYSQL_MAINTAINER_MODE:BOOL=OFF -DWITH_EMBEDDED_SERVER:BOOL=ON -DWITH_EXTRA_CHARSETS:STRING=all  -DWITH_SSL:STRING=bundled -DWITH_UNIT_TESTS:BOOL=OFF -DWITH_ZLIB:STRING=bundled -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_COMMENT=dancebear -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -LH

 

如果报错出现以下错误:

cmake .
-- MySQL 5.5.38
-- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:83 (MESSAGE):
  Curses library not found.  Please install appropriate package,

      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.

 

此时先删除CMakeCache.txt,然后安装确实的ncurses-devel包

shell>rm CMakeCache.txt

shell>yum install ncurses-devel

如果没有 ncurses-devel资源包,则去http://pkgs.org/centos-5/centos-x86_64/ncurses-devel-5.5-24.20060715.x86_64.rpm.html 下载后安装对应rpm包

 

 

然后make -j 开始进行编译(-j是并发编译,适用于多核处理器,但有时候会造成死锁问题,如果遇到,则强行退出后直接用make编译即可)编译中会出现很多warning,可以忽视

 

编译完成后执行make install

 

此时mysql就已经安装完成了。

进到mysql目录下创建数据路径(也可以在前面安装源码时指定)

shell>./scripts/mysql_install_db --datadir=/usr/local/mysql/data/

 

将my.cnf拷到mysql安装目录下,方便保持完整,也可以放在别处

 

创建mysql用户组和用户,并赋权限

shell>groupadd mysql

shell>useradd -g mysql mysql

shell>chown -R mysql:mysql *

shell>./bin/mysqld_safe --defaults-file=/usr/local/mysql/my.cnf &

启动时有时候会报错误,缺少log文件夹,在对应位置创建文件夹并赋权限即可

此时可以查看log日志中的alert.log文件的输出 用tailf输出

如果启动失败,无法登录mysql,则进入mysql的bin目录下,执行./mysql,测试启动mysql服务,如果报错

Can't connect to local MySQL server through socket '/tmp/mysql.sock'

则应该是/tmp文件夹下不存在对应文件,此时查看进程 ps aux|grep mysql 可以看到自己的socket位置,创建一个socket即可,

shell>ln -s /usr/local/mysql/run/mysql.sock /tmp/mysql.sock

这是创建一个/usr/local/mysql/run/mysql.sock 的链接到tmp文件夹中,重新启动即可

猜你喜欢

转载自millerrch.iteye.com/blog/2088734
今日推荐