一主二从+读写分离+从2备份

一, 拓扑图
一, 拓扑设置和疑问
1)  mysql 数据库进行一主二从设置,从 1 和从 2
2)  在主库上安装 Mysql_proxy ,实现主库和从 1 的读写分离
3)  担心的问题:从 1 不能及时从主库同步
               主库故障,可停止 Mysql_proxy ,切换到从 1 ,从 2 停止从主库备份,
               和从 1 组合成一个主从和读写分离架构。主库修复好了,但数据还是老数据,可以执行原来从 3 的备份任务。这样需要一个全局的工具部署,如,每台机器都安装 Mysql_proxy, 写脚本实现角色切换等等。
 
三, Mysql_proxy 安装过程
   
1)下载mysql-proxy-
      
      
       0.6.0
      -linux-rhas4-x86.tar.gz
mv sbin/mysql-proxy /usr/local/sbin/
   mv share/mysql-proxy /usr/local/share/

     
       
     
2)编辑启动脚本:

     
       
     
Vi /etc/init.d/mysql_proxy

     
       
     
#!/bin/sh
export LUA_PATH=/usr/local/share/mysql-proxy/?.lua
 
mode=$1
if [ -z "$mode" ] ; then
  mode="start"
fi
 
case $mode in
  'start')
    mysql-proxy --daemon \          # 以守护进程方式启动
--admin-address=:4401 \
--proxy-address=:3307 \                # 监听 3307 端口
--proxy-backend-addresses=:3306 \ # 本机数据库的 3306 端口(写)
--proxy-read-only-backend-addresses=192.168.109.3:3306 \  # 1 的地址和端口
#--proxy-read-only-backend-addresses=10.10.74.61:3306 \
--proxy-lua-script=/usr/local/share/mysql-proxy/rw-splitting.lua
    ;;
 
  'stop')
    killall mysql-proxy
    ;;
 
  'restart')
    if $0 stop ; then
      $0 start
    else
      echo  "retart failed!!!"
      exit 1
    fi
    ;;
esac
exit 0
 
 3) 相关命令
  /etc/init.d/mysql_proxy  start/stop/restart
 
四,提高这个存储架构的一些设想:
1)  主库和从 1 设置成互为主从模式,是否可以解决从 1 同步的问题
2)  主库出现问题时如何对应?硬盘空间不足,故障及时隔离和处置
 

本文出自 “西瓜皮” 博客,谢绝转载!

你可能感兴趣的:(职场,休闲,mysql_proxy)