`

MySQL-Proxy的安装配置

阅读更多
MySQL-Proxy的二进制版本的安装相对简单,无需多言,下面介绍的是源代码安装:

安装pkg-config:

tar zxvf pkg-config-0.23.tar.gz
cd pkg-config-0.23
./configure
make
make install

确保PKG_CONFIG_PATH环境变量包含了相关的pkg-config配置文件路径:

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

安装libevent:

tar zxvf libevent-1.4.10-stable.tar.gz
cd libevent-1.4.10-stable
./configure
make
make install

安装glib:

tar zxvf glib-2.20.0.tar.gz
cd glib-2.20.0
./configure
make
make install

安装lua:

tar zxvf lua-5.1.4.tar.gz
cd lua-5.1.4

如果你的服务器是64位的,这时要调整一下Makefile:vi src/Makefile,在CFLAGS里加上-fPIC,否则会出错:

/usr/bin/ld: /usr/local/lib/liblua.a(lapi.o):
relocation R_X86_64_32 against `luaO_nilobject_' can not be used when making a shared object;
recompile with -fPIC
/usr/local/lib/liblua.a: could not read symbols: Bad value

接下来不用执行常见的configure,直接make:

make linux
make install

安装pkg-config配置文件,以便编译mysql-proxy时能找到lua:

cp etc/lua.pc /usr/local/lib/pkgconfig/lua5.1.pc

如果没有执行此步骤的话,在后面编译安装mysql-proxy的时候,会得到类似下面的错误信息:

Package lua5.1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `lua5.1.pc'
to the PKG_CONFIG_PATH environment variable
No package 'lua5.1' found

安装mysql:

这里介绍的是完整安装mysql,其实你只要安装mysql开发包即可。

tar zxvf mysql-5.1.33.tar.gz
cd tar zxvf mysql-5.1.33
./configure
make
make install
cp support-files/mysql.server /etc/init.d/mysql
chown +x /etc/init.d/mysql
cp support-files/my-[small|medium|large|huge|innodb-heavy-4G].cnf /etc/my.cnf

如果my.cnf里有skip-federated选项,就注释它,否则安装数据库的时候会出现类似下面的错误:
[ERROR] /usr/local/libexec/mysqld: unknown option '--skip-federated'

/usr/local/bin/mysql_install_db --user=mysql
/usr/local/bin/mysqld_safe --user=mysql &

保证系统能找到mysql_config,后面编译mysql-proxy会用到它:

export PATH=$PATH:/usr/local/bin

还要保证系统能找到mysql库文件:

vi /etc/ld.so.conf 加入/usr/local/lib目录

执行:/sbin/ldconfig /etc/ld.so.conf

安装mysql-proxy:

tar zxvf mysql-proxy-0.7.0.tar.gz
cd mysql-proxy-0.7.0
./configure
make
make install

按照官方介绍做好启动脚本/etc/init.d/mysql-proxy和参数脚本/etc/sysconfig/mysql-proxy,并设置:

chmod +x /etc/init.d/mysql-proxy
chkconfig --add mysql-proxy

搞定了,测试一下:/usr/local/sbin/mysql-proxy -V。官方论坛里有很多讨论,可以参阅。

注意:你的操作系统式32位还是64位

我在32位服务器上使用MySQL-Proxy,感觉非常不稳定,时不时出错:

Lost connection to server during query,MySQL server has gone away

此时,MySQL-Proxy进程往往会挂掉,同时也会报类似下面的错误:

network-mysqld-proxy.c.3318: COM_(0x03), packet 4 should not be (NULL|EOF), got: fffffffe

换到64位服务器后,稳定性大大提高。所以如果想在产品环境上使用MySQL-Proxy,强烈建议使用64位。

至于MySQL-Proxy版本的选择,最好各个版本的MySQL-Proxy都装上试试看,不一定是版本越高越稳定。如果把MySQL-Proxy用于读写分离目的的话,以我自己的测试结果来看,目前最稳定的版本是64位服务器下的0.6.X版本(和0.7.X比较),当然,这个结论不一定适用于你,最好自己实际动手测试看看。

补充:官方网站好像只保留MySQL-Proxy的最新版本,如果需要历史版本的话,可以去这里下载:

http://mirrors.dotsrc.org/mysql/Downloads/MySQL-Proxy/
分享到:
评论

相关推荐

    mysql-proxy 安装配置

    以下是对MySQL Proxy安装配置及其相关知识点的详细说明: 1. **安装过程**: - 首先,从MySQL官方下载页面获取适合您操作系统的MySQL Proxy版本。例如,在提供的文件中,使用的是`mysql-proxy-0.6.0-linux-rhas4-...

    mysql-proxy-0.8.5-windows-x86-32bit

    1. **配置文件**:默认情况下,MySQL Proxy 使用 `proxy.conf` 文件进行配置,包括代理端口、后端服务器地址等信息。 2. **Lua 脚本**:可以通过 Lua 脚本自定义代理行为,如日志记录、查询过滤、性能统计等。 3. **...

    使用mysql-proxy实现mysql读写分离

    - **安装MySQL客户端**:安装MySQL客户端是为了让mysql-proxy能够顺利连接MySQL服务器。 3. **安装mysql-proxy**:按照文档中的步骤完成mysql-proxy的安装。 4. **配置mysql-proxy**:通过命令行指定mysql-proxy...

    mysql配置mysql-proxy读写分离1

    在这个场景中,我们将讨论如何配置 MySQL Proxy 来实现读写分离,以提高数据库系统的性能。 首先,我们需要确保系统已经安装了必要的依赖包。在 CentOS 系统上,可以通过 `yum` 命令安装一系列开发工具和库,例如 ...

    安装mysql-proxy所需工具

    通过以上步骤,你应该能够成功安装并配置MySQL Proxy。它不仅为数据库提供了一层保护,还可以作为数据库管理和优化的有力工具。不过,安装过程可能会因操作系统和具体环境的不同而有所差异,遇到问题时,查阅官方...

    mysql-proxy安装与配置

    一、mysql-proxy场景说明 MySQL Proxy是一个处于你的client端和MySQL server端之间的简单程序,它可以监测、分析或改变它们的通信。它使用灵活,没有限制,常见的...三、mysql-proxy配置 设置权限 编辑文件/etc/mysql-

    MySQL-Proxy

    #### 四、MySQL-Proxy配置与使用 1. **环境准备**: - 首先确保已经安装好 MySQL 服务。 - 在本例中,我们假设已经有两台服务器:192.168.1.14 和 192.168.1.140。其中 192.168.1.14 作为主服务器,192.168.1.140...

    mysql-proxy(mysql代理).txt

    mysql-proxy(mysql代理).txt 主要是配置 linux 环境下mysql的代理设置功能

    sharding-proxy实现分表

    由于 Sharding-Proxy 需要与 MySQL 通信,因此需要将对应的 MySQL JDBC 驱动 jar 包上传到 Sharding-Proxy 的 lib 目录下,以确保连接的兼容性。 #### 2.1.4. 上传分片 jar 包 如果自定义了分片策略,可能需要额外...

    MySQL 主从配置(linux),mysql-proxy

    安装`mysql-proxy`,例如这里的`mysql-proxy-0.8.5-linux-el6-x86-64bit`,解压后按照官方文档进行配置和启动。 在proxy的配置文件`mysql-proxy.conf`中,我们可以定义服务器池和规则: ```lua proxy-lua-script=/...

    mysql-proxy安装部署.docx

    4. **安装 MySQL Proxy**:从源码编译 MySQL Proxy,创建自定义的安装目录,并使用 `./configure` 和 `make` 命令来编译和安装。 完成以上步骤后,MySQL Proxy 应该已经成功安装。接下来,可以通过编写 Lua 脚本来...

    安装LAP+mysql主从库 apache+mysql+proxy主从+PHP+discuz论坛 .docx

    13. MYSQL-proxy安装配置:MYSQL-proxy可以通过安装MYSQL-proxy服务来实现,然后配置MYSQL-proxy来实现读写分离。 14. Discuz论坛安装配置:Discuz论坛可以通过安装Discuz论坛软件来实现,然后配置Discuz论坛来实现...

    MySQL-Proxy快速实现读写分离以及负载均衡

    在上述描述中,我们看到了一个MySQL Proxy的安装和配置过程。 首先,通过解压并移动二进制文件和Lua脚本到相应目录,为MySQL Proxy的安装做准备。`mysql-proxy-0.6.0-linux-rhas4-x86`目录下的`sbin`目录包含了可...

    MYSQL数据库读写分离mysql-proxy 32bit包

    3. 配置MySQL Proxy。创建一个lua脚本,定义路由规则,例如,将所有`SELECT`语句发送到从库,其余的发送到主库。 4. 启动MySQL Proxy服务,并设置适当的监听端口和连接到数据库的配置。 5. 修改应用程序的数据库连接...

    mysql-proxy-0.8.3-win32-x86.zip

    2. **MySQL Proxy的安装与配置** - **下载与解压**:下载`mysql-proxy-0.8.3-win32-x86.zip`,解压后包含可执行文件`mysql-proxy.exe`,以及相关的配置文件和Lua脚本库。 - **启动Proxy**:通过命令行运行`mysql-...

    windows++mysql-proxy全部数据包

    本资料包“windows++mysql-proxy全部数据包”显然是针对Windows平台的MySQL Proxy安装和配置资源,包含了启动脚本、必要的运行库以及MySQL Proxy的可执行文件。 首先,让我们详细了解MySQL Proxy。MySQL Proxy是一...

    mysql-proxy实现读写分离1

    1. 下载并安装MySQL Proxy。确保下载对应操作系统的版本,如文中提到的`mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit`,解压后移动到适当的目录。 2. 创建必要的目录,例如lua脚本目录和日志目录,并将示例的读写...

    Atlas-2.2.1.el6.x86_64.rar

    Atlas是由 Qihoo 360公司...解压出来Atlas-2.2.1.el6.x86_64.rpm CentOS 6.* 版本,安装命令 rpm -i Atlas-2.2.1.el6.x86_64.rpm 安装位置:/usr/local/mysql-proxy,配置文件:/usr/local/mysql-proxy/conf/test.cnf

Global site tag (gtag.js) - Google Analytics