ProxySQL实现读写分离

  

 ProxySQL实现读写分离

  
环境:
  
 <代码> 192.168.205.37:ProxySQL服务器
  192.168.205.47:当主服务器
  192.168.205.57:从属服务器 
  
版本:
  
 <代码>操作系统:centos 7 1810迷你安装
  mariadb-server 5.5.60
  proxysql-1.4.15-1-centos7.x86_64.rpm  
  
目地:
  

proxysql可以实现读写分离,它主要读取数据库的read_only变量来判断那些是主从服务器,当创建读写组时它会跟据状态自动将节点划分到相应的组中,如写组10和读20组,并跟据建立好的规则和对应的组名,从而实现读写的分离操作,proxysql是基于一个轻量级的数据库,所有的设置都要在数据库中进行更改,步聚有点繁琐。

  
步骤:
  
      <李>使用如下的脚本安将两个数据库   
     <代码> #猫maridb_yum.sh root@master数据
      # !/bin/bash
      ID=癷p显示dev eth0 | sed - r”3 ! d; s@ (. * inet) (. *) (/. *) @ \ 2 @ | - d。f4”
      rpm - q mariadb-server | | - y mariadb-server yum安装
      [- d/数据/mysql] | | mkdir - p/数据/mysql
      [- d/数据/日志]| | mkdir - p/数据/日志
      乔恩mysql: mysql/数据/{mysql、日志}
      sed - i ' s@datadir=/var/lib/mysql@datadir=/数据/mysql@/etc/my.cnf
      grep“log-bin/etc/my.cnf | | sed -我”/\ [mysqld \]/log-bin=/数据/logs/bin '/etc/my.cnf
      grep“innodb_file_per_table/etc/my.cnf | | sed -我”/\ [mysqld \]/innodb_file_per_table= 
      <李>发现没有改过来?我们还用SQL命令来改吧   
     <代码> [root@Proxy ~] # proxysql重启服务
      关闭ProxySQL:完成了!
      开始ProxySQL: 2019-08-12 17:03:54使用配置文件/etc/proxysql.cnf[信息]
      完成了!
      #党卫军ntl root@Proxy ~
      州Recv-Q Send-Q本地地址:端口同行地址:端口
      听0 128 * 6032 *:*
      听0 128 * 6033 *:*
      听0 128 * 6033 *:*
      听0 128 * 6033 *:*
      听0 128 *:6033 *:*  
      <李>我们使用默认的帐号来连接proxysqL,可以看到它里面一些系统库文件   
     <代码> [root@Proxy ~] # mysql -uadmin padmin -P6032 -h227.0.0.1
      MySQL((没有))比;显示数据库;
      + - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
      | seq | | |文件名称
      + - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
      主要| 0 | | |
      | | 2 |磁盘/var/lib/proxysql/proxysql.db |
      | 3 |数据| |
      | 4 |监控| |
      | 5 | stats_history |/var/lib/proxysql/proxysql_stats。db |
      + - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
      5行集(0.00秒) 
      <李>显示表;默认的是显示主库的表与显示表从主;一样   
     <代码> MySQL((没有))比;显示表;
      + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
      | |表
      + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
      | global_variables |
      | mysql_collations |
      | mysql_group_replication_hostgroups |
      | mysql_query_rules |
      | mysql_query_rules_fast_routing |
      | mysql_replication_hostgroups |
      | mysql_servers |
      | mysql_users |
      | proxysql_servers |
      | runtime_checksums_values |
      | runtime_global_variables |
      | runtime_mysql_group_replication_hostgroups |
      | runtime_mysql_query_rules |
      | runtime_mysql_query_rules_fast_routing |
      | runtime_mysql_replication_hostgroups |
      | runtime_mysql_servers |
      | runtime_mysql_users |
      | runtime_proxysql_servers |
      | runtime_scheduler |
      调度器| |
      + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
      20行集(0.00秒) 
      <李>查看一   
     <代码> MySQL((没有))比;select *从sqlite_master name=' mysql_servers \ G
      * * * * * * * * * * * * * * * * * * * * * * * * * * * 1。行  ***************************
      类型:表
      名称:mysql_servers
      tbl_name: mysql_servers
      rootpage: 2
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null

    ProxySQL实现读写分离