`
mjs123
  • 浏览: 35168 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

centos 下mysql 与memcached的整合

阅读更多

一、     成功安装的软件列表

mysql-5.1.43-linux-x86_64-icc-glibc23.tar.gz

libvent-1.4.7-stable.tar.gz

memcached-1.2.6.tar.gz

libmemcached-0.26.tar.gz

memcached_functions_mysql_1.0.tar.gz

二、     安装步骤

通过filezilla root 用户登录把

libevent-1.4.7-stable.tar.gz

memcached-1.2.6.tar.gz

libmemcached-0.26.tar.gz

memcached_functions_mysql_1.0.tar.gz

4个安装文件 传输到 centos 下的/root/Desktop 目录下

mysql-5.1.43-linux-x86_64-icc-glibc23.tar.gz

传输到 centos 下的/usr/local 目录下

1、安装MySQL

先检查系统是否装上了mysql,如果有将其卸载掉

rpm -qa | grep -i mysql

注意mysql的大小写,大小写都有可能。

定要用—nodeps卸载,不检查依赖性关系(强制性卸载)

rpm -e --nodeps mysql*

创建用户mysql,并设置密码

groupadd mysql

useradd -g mysql mysql

passwd mysql

MySQL安装在/usr/local/mysql的目录下并设置相关权限操作

cd /usr/local

由于刚开始以用户siku 登录所以会报权限不够的错误。

执行 su root

输入root 的密码  如下图:

tar xzvf  mysql-5.1.43-linux-x86_64-icc-glibc23.tar.gz

ln -s mysql-5.1.43-linux-x86_64-icc-glibc23 mysql

cd mysql

./scripts/mysql_install_db --user=mysql

如果出现下列错误请安装compat-libstdc++-33-3.2.3-61.x86_64.rpm

执行rpm -ivh compat-libstdc++-33-3.2.3-61.x86_64.rpm

./scripts/mysql_install_db --user=mysql

文件安装成功。

chown -R root .

chown -R mysql data

cd /etc/rc.d/init.d

cp /usr/local/mysql/support-files/mysql.server  mysql

chmod +x mysql

/sbin/chkconfig --del mysql

/sbin/chkconfig --add mysql

/etc/rc.d/init.d/mysql start

    运行命令,进入命令行操作,默认密码为空

/usr/local/mysql/bin/mysql

安装成功!

2、安装libevent/usr/lib目录

memcached使用了libevent所以必须先安装libevent。安装libevent/usr/lib:

cd /root/Desktop

tar xvf  libevent-1.4.7-stable.tar.gz

cd libevent-1.4.7-stable

./configure --prefix=/usr

make

make install

安装成功

 


3、安装memcached/usr/local/memcached目录

Cd ..

tar xvf memcached-1.2.6.tar.gz

cd memcached-1.2.6

./configure --prefix=/usr/local/memcached --with-libevent=/usr

make

make install

运行如下命令测试安装是否成功:

/usr/local/memcached/bin/memcached -h

提示/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2:

cannot open shared object file: No such file or directory

出现上述错误一般是由于库文件依赖有问题,这是需要使用libs命令

#LD_DEBUG=libs /usr/local/memcached/bin/memcached -h

     30596:     find library=libevent-1.4.so.2 [0]; searching

     30596:      search cache=/etc/ld.so.cache

     30596:      search path=/lib64/tls/x86_64:/lib64/tls:/lib64/x86_64:/lib64:/usr/lib64/tls/x86_64

/usr/lib64/tls:/usr/lib64/x86_64:/usr/lib64

(system search path)

     30596:       trying file=/lib64/tls/x86_64/libevent-1.4.so.2

     30596:       trying file=/lib64/tls/libevent-1.4.so.2

     30596:       trying file=/lib64/x86_64/libevent-1.4.so.2

     30596:       trying file=/lib64/libevent-1.4.so.2

     30596:       trying file=/usr/lib64/tls/x86_64/libevent-1.4.so.2

     30596:       trying file=/usr/lib64/tls/libevent-1.4.so.2

     30596:       trying file=/usr/lib64/x86_64/libevent-1.4.so.2

     30596:       trying file=/usr/lib64/libevent-1.4.so.2

     30596:

/usr/local /memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2:

cannot open shared object file: No such file or directory

可以看到是在加载/usr/lib64/libevent-1.4.so.2文件时出现了问题系统中确实是没有该文件的查找后发现 libevent-1.4.so.2存在于/usr/lib目录这可能是libevent64Linux系统上的一个bug没有关系复制一份或者建一个软链接即可解决问题。

下面建立一个软链接:

#ln -s /usr/lib/libevent-1.4.so.2 /usr/lib64/libevent-1.4.so.2

 

笔者采用上述memcached版本出现上述蓝色部分的错误,当没错误的使用,可以使用命令:

/usr/local/memcached/bin/memcached –h

memcached命令帮助信息如下结果:

memcached 1.4.4

-p <num>      TCP port number to listen on (default: 11211)

-U <num>      UDP port number to listen on (default: 11211, 0 is off)

-s <file>     UNIX socket path to listen on (disables network support)

-a <mask>     access mask for UNIX socket, in octal (default: 0700)

-l <ip_addr>  interface to listen on (default: INADDR_ANY, all addresses)

-d            run as a daemon

-r            maximize core file limit

-u <username> assume identity of <username> (only when run as root)

-m <num>      max memory to use for items in megabytes (default: 64 MB)

-M            return error on memory exhausted (rather than removing items)

-c <num>      max simultaneous connections (default: 1024)

-k            lock down all paged memory.  Note that there is a

              limit on how much memory you may lock.  Trying to

              allocate more than that would fail, so be sure you

              set the limit correctly for the user you started

              the daemon with (not for -u <username> user;

              under sh this is done with 'ulimit -S -l NUM_KB').

-v            verbose (print errors/warnings while in event loop)

-vv           very verbose (also print client commands/reponses)

-vvv          extremely verbose (also print internal state transitions)

-h            print this help and exit

-i            print memcached and libevent license

-P <file>     save PID in <file>, only used with -d option

-f <factor>   chunk size growth factor (default: 1.25)

-n <bytes>    minimum space allocated for key+value+flags (default: 48)

-L            Try to use large memory pages (if available). Increasing

              the memory page size could reduce the number of TLB misses

              and improve the performance. In order to get large pages

              from the OS, memcached will allocate the total item-cache

              in one large chunk.

-D <char>     Use <char> as the delimiter between key prefixes and IDs.

              This is used for per-prefix stats reporting. The default is

              ":" (colon). If this option is specified, stats collection

              is turned on automatically; if not, then it may be turned on

              by sending the "stats detail on" command to the server.

-t <num>      number of threads to use (default: 4)

-R            Maximum number of requests per event, limits the number of

              requests process for a given connection to prevent

              starvation (default: 20)

-C            Disable use of CAS

-b            Set the backlog queue limit (default: 1024)

-B            Binding protocol - one of ascii, binary, or auto (default)

-I            Override the size of each slab page. Adjusts max item size

              (default: 1mb, min: 1k, max: 128m)

各参数的含义在另一文档有说明,启动memcached命令:

#/usr/local/memcached/bin/memcached -d -m 1024 -u root -l 127.0.0.1 -p 11211

至此,memcached安装成功并在本地以11211端口启动!

4、安装libmemcached

安装命令如下:

cd /root/Desktop

tar xzf libmemcached-0.26.tar.gz

cd libmemcached-0.26

./configure –with-memcached=/usr/local/memcached/bin/memcached

make

make install

5、安装memcached UDFs for MySQL

命令如下:

cd /root/Desktop

tar xzf memcached_functions_mysql-1.0.tar.gz

cd memcached_functions_mysql-1.0

./configure --with-mysql=/usr/local/mysql/bin/mysql_config --libdir=/usr/local/mysql/lib/mysql/

执行上述命令后,如果出现找不到libmemcached的错误,那么请执行下列命令:

export LD_LIBRARY_PATH=/usr/local/lib

然后再执行:

make

make install

编译完成后,将编译好的库文件复制到mysql 的插件目录下,以便加载使用。

cp /usr/local/mysql/lib/mysql/libmemcached_functions_mysql* /usr/local/mysql/lib/plugin/

进入memcached_functions_mysql的源码目录,在目录下添加UDFSQL文件用于初始化,命令如下:

#/usr/local/mysql/bin/mysql <sql/install_functions.sql

 

至此,相关的软件的编译和安装完成。

 

四、注意事项和错误解决方案

1、注意事项

    MySQL官方提供三个版本下载,分别是RPM/二进制/源码版,由于编译安装memcached UDFs for MySQL时需要指定MySQL的相关信息,采用RPM版(安装文件路径分散,对LinuxMySQL不是非常熟悉的人,难以把握)不合适。MySQL官方不推荐使用源码版(个人觉得那是高手使用的东西,需要自己编译,安装特别麻烦,用它是自找苦吃),故本人采用的是二进制版(MySQL已经编译完成)的MySQL。至于如何区别MySQL的二进制版和源码版的信息,自己Google!

    安装的时候请注意软件版本,否则可能导致不成功。

    本人虚拟机里面测试安装,最初装了虚拟机的VMware Tools,软件一直没装成功,不知是否是这样的一个错误导致。建议在虚拟机里面安装软件环境先不要安装虚拟机的VMware Tools

2、错误指南:

Error1:

    上述的错误一般是由于软件的版本不兼容导致的,所以建议重新选择安装libmemcached的版本。

Error2:

    上述的错误是由命令:

    ./configure --with-mysql=/usr/local/mysql/bin/mysql_config --libdir=/usr/local/mysql/lib/mysql/

导致安装memcached UDFs for MySQL导致找不到libmemcachedlib环境,故本人采用命令加入该libmencachedLib环境

    export LD_LIBRARY_PATH=/usr/local/lib

再重复上述编译就OK了。

    总结:上述两个错误时安装的过程中最易犯也是最难检查的。

 

五、参考资料

http://www.libing.name/2009/02/06/mysql-map-data-to-memcached.html

http://hg.tangent.org/memcached_functions_mysql/file/724eeccc55bc/README

http://download.tangent.org/

http://forums.mysql.com/read.php?150,182016,182016#msg-182016

 

 

分享到:
评论

相关推荐

    CentOS下mysql成功安装

    CentOS下MySQL成功安装 MySQL是一种流行的关系数据库管理系统,广泛应用于Web应用程序和企业级应用程序中。在CentOS操作系统中,安装MySQL服务器需要经过一系列的步骤,包括下载、编译、安装、初始化数据库、注册...

    Centos6.5下安装Memcached完整示例

    总结来说,这个示例涵盖了在CentOS 6.5上从源码安装Memcached,配置开机启动,以及使用Java客户端与Memcached交互的关键步骤。通过这种方式,你可以充分利用Memcached的性能优势,提高你的Web应用的效率。记得在实际...

    centos7.0安装mysql

    centos7.0安装mysql centos7.0安装mysql centos7.0安装mysql

    CentOS安装MySQL5.7

    本文详细介绍了在CentOS环境下安装MySQL 5.7的过程,包括创建MySQL用户、安装MySQL软件包、初始化MySQL、修改配置文件、启动服务、管理用户与权限等多个步骤。通过这些步骤,您可以顺利地在CentOS上部署并运行MySQL...

    CentOS下安装mysql

    centos 6.5下安装配置mysql,以及mysql的安全管理和账户管理

    centos下 MySQL 5.5.13 CMake 安装笔记

    在CentOS操作系统中,安装MySQL 5.5.13版本时,由于该版本需要使用CMake构建系统进行编译安装,这个过程相对复杂,但是一旦设置正确,可以确保MySQL服务器按照预期配置运行。以下是详细的安装步骤: 首先,确保你的...

    CentOS MySQL启动和关闭命令

    ### CentOS下MySQL的启动与关闭命令详解 在Linux系统中,特别是CentOS发行版中,MySQL作为一款广泛使用的开源数据库管理系统,在服务器应用中扮演着重要的角色。本文将详细介绍CentOS环境下MySQL服务的启动与关闭...

    ARM架构 centos7 mysql8安装包

    arm架构centos7 下mysql8离线安装包 包含: mysql-community-client-8.0.20-1.el7.aarch64.rpm mysql-community-common-8.0.20-1.el7.aarch64.rpm mysql-community-devel-8.0.20-1.el7.aarch64.rpm mysql-community-...

    CentOS 安装配置memcached

    CentOS 安装配置 Memcached 在本文中,我们将详细介绍如何在 CentOS 系统上安装和配置 Memcached。Memcached 是一个高性能的分布式内存对象缓存系统,广泛应用于各种 web 应用程序中,以提高应用程序的性能和响应...

    CentOS7环境mysql小版本升级步骤

    在CentOS7环境下,对MySQL的小版本升级是一个关键的维护任务,以确保数据库系统的稳定性和安全性。本文将详细阐述如何从MySQL 5.7.26升级到5.7.31,这是一个典型的二进制文件替换升级方法。以下是具体的步骤: 一、...

    centos下mysql8离线部署包

    centos下mysql8离线部署包

    CentOS8 mysql8.3.0安装包

    用于在CentOS8中安装mysql8.3.0的安装包

    centos下mysql数据库源码安装教程

    ### CentOS 下 MySQL 数据库源码安装教程 #### 概述 本文档旨在提供一份详细的CentOS 6.8环境下MySQL数据库5.6.14版本的源码安装指南。相较于传统的RPM包安装方式,从源码安装可以更加灵活地定制安装选项,同时也能...

    centos 7.1 mysql5.7.12常见问题解决

    标题:"centos 7.1 mysql5.7.12常见问题解决",该标题指向了 Centos 7.1 操作系统下使用 MySQL 5.7.12 版本时可能遇到的问题和解决方法。 描述:"centos 7.1.1503 系统下使用 mysql5.7.12 时遇到问题以及解决办法总结...

    CentOS安装MySQL 5.5

    - **用户及其目录**:创建mysql组和mysql用户,并在/home/mysql下建立相应的目录结构。 - **安装设置**:MySQL的安装路径为/home/mysql/server;数据文件存储在/home/mysql/server/data;my.cnf配置文件位于/home/...

    CentOS 7 安装 MySQL

    CentOS 7 安装 MySQL

    linux(centos) 下C++连接mysql数据库

    1. **头文件导入**:在C++代码中,你需要包含`mysql.h`头文件,它提供了与MySQL通信所需的所有函数和结构体。 ```cpp #include &lt;mysql.h&gt; ``` 2. **连接函数**:`MYSQL* mysql_init(MYSQL*)`用于初始化一个新的...

    CentOS7中将Mysql添加为系统服务 - shangyingbin - 博客园.pdf

    在Linux系统中,尤其是CentOS 7这样的发行版,服务管理通常依赖于`systemd`。MySQL数据库系统作为服务器...此外,将MySQL服务化还有助于与其他系统服务的协调,如网络和日志记录,确保了服务间的依赖关系得以正确处理。

Global site tag (gtag.js) - Google Analytics