广告
返回顶部
首页 > 资讯 > 数据库 >安装mysql-proxy实现mysql读写分离
  • 301
分享到

安装mysql-proxy实现mysql读写分离

2024-04-02 19:04:59 301人浏览 薄情痞子
摘要

一. 环境描述操作系统版本:Centos 7.2主服务器:192.168.0.72  node2从服务器:192.168.0.73  node3调度服务器Mysql-Proxy

一. 环境描述

操作系统版本:Centos 7.2

服务器:192.168.0.72  node2

从服务器:192.168.0.73  node3

调度服务器Mysql-Proxy:192.168.0.71   node1

二. 配置mysql主从

2.1 安装mysql

node2和node3都需安装

[lirou@node2 ~]$ sudo yum -y install mariadb-server

2.2 修改配置文件

master配置文件:

skip_name_resolve

innodb_file_per_table

server_id = 1

log_bin = /var/lib/mysql/bin_log

slave 配置文件:

skip_name_resolve

innodb_file_per_table

server_id = 2

log_bin = /var/lib/mysql/bin_log

read_only

 

注意:master服务器一定要开启二进制日志,因为主从复制依赖与master。而且主从服务器的server_id一定要不同。

2.3 启动服务

node2和node3都要启动服务

[lirou@node3 ~]$ sudo systemctl start mariadb

2.4 配置主从服务器

Master服务器上

分配slave主机访问master的权限账号:

[lirou@node2 ~]$ mysql -uroot

MariaDB [(none)]> GRANT REPLICATioN CLIENT, REPLICATION SLAVE ON  *.* TO 'repl_user'@'192.168.0.%' IDENTIFIED BY 'repl_pass';

 

查看master上二进制日志位置

MariaDB [(none)]> show master status ;

+---------------+----------+--------------+------------------+

| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+---------------+----------+--------------+------------------+

| binlog.000001 |      425 |              |                  |

+---------------+----------+--------------+------------------+

slave服务器上

mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.72', MASTER_USER='repl_user', MASTER_PASSWord='repl_pass', MASTER_LOG_FILE='binlog.000001', MASTER_LOG_POS=425;

mysql> slave start;    # 开启从同步

mysql> show slave status \G;  #查看同步是否成功

安装mysql-proxy实现mysql读写分离安装mysql-proxy实现mysql读写分离

三. 配置mysql-proxy

3.1 下载安装包

~]# wget wget https://downloads.mysql.com/arcHives/get/file/mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz

~]# sudo  tar xf Https://downloads.mysql.com/archives/get/file/mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz -C /usr/local

~]# mv /usr/local/mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit /usr/local/mysql-proxy

3.2 配置mysql-proxy

创建lua脚本目录

~]# cd /usr/local/mysql-proxy

mysql-proxy]# mkdir lua

创建日志目录

Mysql-proxy]# mdkir logs

拷贝读写分离配置文件和管理脚本到lua脚本目录

mysql-proxy]# cp share/doc/mysql-proxy/rw-splitting.lua  ./lua

Mysql-proxy]# cp share/doc/mysqp-proxy/admin-sql.lua  ./lua

创建配置文件

~]# vim /etc/mysql-proxy.conf

[mysql-proxy]

user = root  运行代理的用户

admin-username = mysql_proxy_user  # mysql-proxy连接后端mysql服务器的用户

admin-password = mysql_proxy_pass  # mysql-proxy连接后端mysql服务器的密码

proxy-address = 192.168.0.71:3307    # mysql-proxy监听的IP和端口,端口默认4040

proxy-read-only-backend-addresses = 192.168.0.73  #只读服务

proxy-backend-addresses = 192.168.0.72           # 读写服务器

proxy-lua-script = /usr/local/mysql-proxy/lua/rw-splitting.lua  # 指明读写分离配置文件

admin-lus-script = /usr/local/mysql-proxy/lua/admin-sql.lua   # 管理脚本路径

log-file = /usr/local/mysql-proxy/logs/mysql-proxy.log     # 日志文件路径

log-level = debug   #日志记录等级

daemon = true     # 程序是否在后端启动

keepalive = true    # mysql-proxy崩溃后,尝试重启

修改读写配置文件

vim /usr/local/mysql-proxy/lua/rw-splitting.lua

if not proxy.global.config.rwsplit then

 proxy.global.config.rwsplit = {

  min_idle_connections = 1,  #默认超过4个连接数时,才开始读写分离,改为1

  max_idle_connections = 1,  #默认8,改为1

  is_debug = false

 }

启动mysql-proxy

~]# /usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/etc/mysql-proxy.cnf

安装mysql-proxy实现mysql读写分离安装mysql-proxy实现mysql读写分离 

在mysql上创建mysql-proxy连接的用户

mysql> GRANT ALL ON *.* TO 'mysql_proxy_user'@'192.168.0.%' IDENTIFIED BY 'mysql_proxy_pass';

 

四. 测试读写分离

测试写

mysql -umysql_proxy_user -pmysql_proxy_pass -h292.168.0.71 --port=3307

mysql> create databases master;

mysql> create table test (id int);

mysql> insert into master.test value (1);

 

查看从服务器:

安装mysql-proxy实现mysql读写分离安装mysql-proxy实现mysql读写分离 

可以看到从服务器同步了

测试读

主服务器查询语句条数

安装mysql-proxy实现mysql读写分离安装mysql-proxy实现mysql读写分离 

从服务器查询语句条数

安装mysql-proxy实现mysql读写分离

安装mysql-proxy实现mysql读写分离

连接mysql-proxy执行一条读语句

安装mysql-proxy实现mysql读写分离

主服务器查询语句条数

安装mysql-proxy实现mysql读写分离

从服务器查询语句条数

安装mysql-proxy实现mysql读写分离安装mysql-proxy实现mysql读写分离 

我们可以看到查询语句是在从服务器上执行。

 


您可能感兴趣的文档:

--结束END--

本文标题: 安装mysql-proxy实现mysql读写分离

本文链接: https://www.lsjlt.com/news/51946.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 安装mysql-proxy实现mysql读写分离
    一. 环境描述操作系统版本:centos 7.2主服务器:192.168.0.72  node2从服务器:192.168.0.73  node3调度服务器MySQL-Proxy...
    99+
    2022-10-18
  • mysql 基于mysql-proxy实现读写分离
    mysql 读写分离 读写分离首先不推荐使用,很多业务场景也没有必要,不仅增加技术复杂度,而且可能会导致读到落后的数据,建议优化数据库,推荐使用keepalive+mysql双主复制的方案 然后mysql-proxy是官方推出的中间件,不仅...
    99+
    2015-08-29
    mysql 基于mysql-proxy实现读写分离 数据库入门 数据库基础教程 数据库 mysql
  • mysql-proxy实现读写分离脚本
    将以下脚本保存为/etc/init.d/mysql-proxy ,赋予权限chmod 755 /etc/init.d/mysql-proxy#!/bin/bash # # mysql-proxy&...
    99+
    2022-10-18
  • 使用mysql-proxy实现读写分离
    mysql-proxy实现MySQL读写分离 使用二进制格式的mysql-proxy的安装配置 mysql-proxy本身并不能进行读写分离,要实现读写分离要依赖于lua,所以要先查看是否安装了lua,...
    99+
    2022-10-18
  • 使用mysql-proxy实现mysql的读写分离
    TEST ...
    99+
    2022-10-18
  • MySQL读写分离amoeba&mysql-proxy
    ----主从同步介绍 refencen    https://www.cnblogs.com/lin3615/p/5684891.html 1. 读写分离方式 ...
    99+
    2022-10-18
  • 企业 - mysql 读写分离(proxy)
                     &...
    99+
    2022-10-18
  • 如何进行Mysql中的mysql-proxy读写分离
    本篇文章为大家展示了如何进行Mysql中的mysql-proxy读写分离,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。以配置文件的方式启动[root@host-19...
    99+
    2022-10-19
  • 关系型数据库之mysql-proxy实现读写分离
    简要:  mysql-proxy作为mysql测试项目,可以实现读写分离架构,具有开发能力的公司通过二次开发的方式去完善bug应用在生产环境中,下面我们通过案例使用mysql-proxy实现读写分...
    99+
    2022-10-18
  • MySQL Router实现MySQL的读写分离
    MySQL Router实现MySQL的读写分离 https://www.cnblogs.com/f-ck-need-u/p/9276639.html https://www.cnblogs.com...
    99+
    2022-10-18
  • mysql+mycat实现读写分离
    centos7 master slave mycat1.6 client 192.168.41.10 192.168.41.11 192.168.41.12 192.168.41.13 ...
    99+
    2022-10-18
  • MyCAT实现MySQL的读写分离
    在MySQL中间件出现之前,对于MySQL主从集群,如果要实现其读写分离,一般是在程序端实现,这样就带来一个问题,即数据库和程序的耦合度太高,如果我数据库的地址发生改变了,那么我程序端也要进行相应的修改,如...
    99+
    2022-10-18
  • 怎么实现mysql读写分离
    这篇文章主要介绍“怎么实现mysql读写分离”,在日常操作中,相信很多人在怎么实现mysql读写分离问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么实现mysql读写分离”...
    99+
    2022-10-19
  • MySQL中间件proxysql实现MySQL读写分离
    1. Mysql实现读写分离的方式 mysql 实现读写分离的方式有以下几种: 程序修改mysql操作,直接和数据库通信,简单快捷的读写分离和随机的方式实现的负载均衡,权限独立分配,需要开发人员协助。 amoeba,直接实现读写分离和负载...
    99+
    2021-12-16
    MySQL中间件proxysql实现MySQL读写分离 数据库入门 数据库基础教程 数据库 mysql
  • MySQL使用ProxySQL实现读写分离
    1 ProxySQL简介: ProxySQL是一个高性能的MySQL中间件,拥有强大的规则引擎。官方文档:https://github.com/sysown/proxysql/wiki/下载地址:https...
    99+
    2022-10-18
  • 使用Maxscale实现mysql读写分离
    MaxScale 是 MariaDB 的产品之一,可以很方便的实现读写分离方案;并且提供了读写分离的负载均衡和高可用性保障。一、安装配置前提:先配置好mysql的主从,Maxscale会自动的根据...
    99+
    2022-10-18
  • MySQL中如何实现读写分离
    MySQL中如何实现读写分离,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一,创建Master数据库的配置文件vi master...
    99+
    2022-10-18
  • php+mysql如何实现读写分离
    这篇“php+mysql如何实现读写分离”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php+mysql如何实现读写分离”文...
    99+
    2023-07-05
  • MySQL-mycat读写分离
    Mycat 需要安装JDK 1.7 或者以上版本第一步:下载jdk-8u131-linux-x64.tar.gz文件 http://haixi.sfkcn.com:8080/201704/tools/jdk-linux-x64.tar.gz...
    99+
    2021-04-03
    MySQL-mycat读写分离 数据库入门 数据库基础教程 数据库 mysql
  • mysql+amoeba读写分离
    mysql+amoeba读写分离一 简介:Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy。它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作