zoukankan      html  css  js  c++  java
  • mysql 读写分离

    常见的读写分离方案:
    1)Amoeba读写分离
    2)MySQL-Proxy读写分离
    3)基于程序读写分离(效率很高,实施难度大,开发改代码)

    2)原理 web 访问数据库,通过proxy4040端口作为转发到真实数据库3306端口 

    wget http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-Proxy/mysql-proxy-0.8.4-linux-el6-x86-64bit.tar.gz  

    useradd -r mysql-proxy 创建用户 

    tar zxvf mysql-proxy-0.8.4-linux-el6-x86-64bit.tar.gz -C /usr/local

    mv /usr/local/mysql-proxy-0.8.4-linux-el6-x86-64bit /usr/local/mysql-proxy 

    vi在/etc/profile中加入如下语句:
    export PATH=$PATH:/usr/local/mysql-proxy/bin/      设为环境变量 

    source /etc/profile 加载变量  

    Mysql-proxy的相关参数如下:
    --help-all   :获取全部帮助信息;
    --proxy-address=host:port  :代理服务监听的地址和端口;
    --admin-address=host:port  :管理模块监听的地址和端口;
    --proxy-backend-addresses=host:port :后端mysql服务器的地址和端口;
    --proxy-read-only-backend-addresses=host:port :后端只读mysql服务器的地址和端口;
    --proxy-lua-script=file_name :完成mysql代理功能的Lua脚本;
    --daemon  :以守护进程模式启动mysql-proxy;
    --keepalive  :在mysql-proxy崩溃时尝试重启之;
    --log-file=/path/to/log_file_name :日志文件名称;
    --log-level=level :日志级别;
    --log-use-syslog :基于syslog记录日志;
    --plugins=plugin:在mysql-proxy启动时加载的插件;
    --user=user_name  :运行mysql-proxy进程的用户;
    --defaults-file=/path/to/conf_file_name : 默认使用的配置文件路径;其配置段使用[mysql-proxy]标识;
    --proxy-skip-profiling : 禁用profile;
    --pid-file=/path/to/pid_file_name :进程文件名;

    mysql-proxy --daemon --log-level=debug --user=mysql-proxy --keepalive --log-file=/var/log/mysql-proxy.log --plugins="proxy" --proxy-backend-addresses="192.168.10.128:3306" --proxy-read-only-backend-addresses="192.168.10.130:3306" --proxy-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua" --plugins=admin --admin-username="admin" --admin-password="admin" --admin-lua-script="/usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua"   

     netstat -tlun   

    4040是proxy端口;4041是管理端口

    mysql -h192.168.10.129 -uadmin -p -P4041  IP为安装proxy的机子

    select * from backends;    查看状态 

    mysql -h192.168.10.129 -uxian  -p -P4040   数据写入测试              (  WEB连接数据库改为proxy代理IP 改web服务器发布目录PHP配置文件为4040端口 /usr/local/apache2/htdocs/upload/config/config_global.php与config_ucenter.php 改www.service.com:4040    同时修改WEB服务器/etc/hosts为代理IP  192.168.10.129 www.service.com  主从数据库都要对proxy的IP进行授权)

  • 相关阅读:
    期中架构实现步骤
    安装centos以及优化步骤
    inotify+rsync实现实时热备
    [转]ubuntu安装vncserver实现图形化访问
    [转]电烙铁的使用小技巧
    彻底解决 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
    解读系统托盘图标隐藏(删除)
    一个小公式帮你轻松将IP地址从10进制转到2进制
    [查阅]Dalvik opcodes
    [查阅]MSIL Instruction Set
  • 原文地址:https://www.cnblogs.com/linxizhifeng/p/6574884.html
Copyright © 2011-2022 走看看