mysq通过ProxySQL实现读写分离

本文介绍了如何通过ProxySQL实现MySQL的读写分离。首先,讲解了ProxySQL作为MySQL中间件的角色及其特性,包括其读/写分离、监控和缓存等功能。接着,详细阐述了ProxySQL的安装步骤,强调了在实现读写分离前需确保主从复制配置正确。在配置ProxySQL时,重点讨论了如何添加和管理后端节点,设置读写组,并创建路由规则以确保SELECT语句被正确路由到读组,而写操作则路由到写组。最后,通过测试验证了读写分离的正确性。

mysq通过ProxySQL实现读写分离

常见的读写分离应用

	Oracle:mysql-proxy
	qihoo:Atlas
	美团:dbproxy
	网易:cetus
	amoeba
	阿里巴巴:cobar 基于amoeba研发
	Mycat:基于cobar实现
	ProxySQL

ProxySQL:MySQL中间件

  • 版本:
    • 官方版
    • percona版:percona公司基于官方版本用C++语言开发,性能更优
  • 特点:具有中间件所需的绝大多数功能,包括:
    • 多种方式的读/写分离
    • 定制基于用户、基于schema、基于语句的规则对SQL语句进行路由
    • 缓存查询结果
    • 后端节点监控

官方站点:https://proxysql.com/

ProxySQL安装:

  • 准备:

    • 实现读写分离前,先实现主从复制

      注:slave服务器 配置文件中必须为 read_only=1,ProxySQL通过read_only=1参数,确定哪个是salve服务器

  • 基于YUM仓库安装:

    [ root@centos ~]# cat <<EOF | tee /etc/yum.repos.d/proxysql.repo
    [proxysql_repo]
    name= ProxySQL YUM repository
    baseurl=http://repo.proxysql.com/ProxySQL/proxysql-1.4.x/centos/\$releasever
    gpgcheck=1
    gpgkey=http://repo.proxysql.com/ProxySQL/repo_pub_key
    EOF
  • 基于RPM下载安装:https://github.com/sysown/proxysql/releases

  • ProxySQL的组成:

    • 服务脚本:/etc/init.d/proxysql
    • 配置文件:/etc/proxysql.cnf
    • 主程序:/usr/bin/proxysql
    • 基于SQLITE的数据库文件:/var/lib/proxysql/
  • 启动ProxySQL:service proxysql start

    • 启动后会监听两个默认端口:
      • 6032:ProxySQL的管理端口
      • 6033:ProxySQL对外提供服务的端口
  • 使用mysql客户端连接到ProxySQL的管理端口6032,默认管理员用户和密码都是admin

	[ root@weiying ~]# mysql -uadmin -padmin -p6032 -hhost
  • ProxySQL实现读写分离:

    内置了SQLite小型数据库,里面存储了proxysql的设置

    • 内置的数据库说
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值