| 您的当前位置:首页 --> MYSQL教程 --> MySQL Proxy的安装及基本命令使用教程 |
| MYSQL教程 MySQL Proxy的安装及基本命令使用教程 |
| 浏览次数:1263 关键词 ( ) |
| 查看使用该CPU的产品 查看CPU天梯 |
| CPU型号:MySQL Proxy的安装及基本命令使用教程 |
| 主频:Ghz |
| 睿频:Ghz |
| 核心数:个 |
| 不支持超核心 |
| 制作工艺: |
| 插槽类型: |
| 功耗:0W |
| L3缓存:0MB |
| 支持最大内存: 0GB |
| CPU详细参数 |
|
MySQL Proxy最壮大的一项功能是告终“读写离别(Read/Write Splitting)”。它的原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的改变同步到集群中的从数据库。 0.必备软件: 1、LUA 能够去LUA的官方下载:dpa.nsysu.edu.tw/Downloads/MySQL-Proxy/。 可能去MYSQL官方下载源代码。 我这里下载了: mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/mysql-proxy-0.6.0.tar.gz 3、测验过程中废止了B和C的REPLICATION。这么SQL语句一下子就看出来从哪里来的。 万一是M-S(能够先在SLAVE上举行STOP SLAVE)
[@s1.yejr.com ~]# tar zxf mysql-proxy-0.6.0-linux-rhas4-x86.tar.gz [@s1.yejr.com ~]# cd mysql-proxy-0.6.0-linux-rhas4-x86 #可以看到有2个目录 [@s1.yejr.com mysql-proxy-0.6.0-linux-rhas4-x86]# ls sbin share [@s1.yejr.com mysql-proxy-0.6.0-linux-rhas4-x86]# mv sbin/mysql-proxy /usr/local/sbin/ [@s1.yejr.com mysql-proxy-0.6.0-linux-rhas4-x86]# ls share mysql-proxy tutorial-constants.lua tutorial-packets.lua tutorial-rewrite.lua tutorial-warnings.lua tutorial-basic.lua tutorial-inject.lua tutorial-query-time.lua tutorial-states.lua #将lua脚本放到/usr/local/share下,以备他用 [@s1.yejr.com mysql-proxy-0.6.0-linux-rhas4-x86]# mv share/mysql-proxy /usr/local/share/ #删除符号连接等垃圾代码 [@s1.yejr.com mysql-proxy-0.6.0-linux-rhas4-x86]# strip /usr/local/sbin/mysql-proxy 2. 启动 [@s1.yejr.com ~]# 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 --proxy-backend-addresses=:3306 --proxy-read-only-backend-addresses=192.168.133.232:3306 --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 现在解释一下启动脚本: 完整的参数可以运行以下命令查看: mysql-proxy --help-all 运行以下命令启动/停止/重启mysql proxy: [@s1.yejr.com ~]# /etc/init.d/mysql-proxy start [@s1.yejr.com ~]# /etc/init.d/mysql-proxy stop [@s1.yejr.com ~]# /etc/init.d/mysql-proxy restart 3. 试用 [@s1.yejr.com ~]# mysql -h127.0.0.1 -uroot -P3307 mysql> show processlist; +-------+------+----------------+------+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +-------+------+----------------+------+---------+------+-------+------------------+ | 30052 | root | localhost:9656 | NULL | Query | 0 | NULL | show processlist | +-------+------+----------------+------+---------+------+-------+------------------+ 可以看到,产生了一个新连接。 用sysbench测试一下,看会不会挂掉: [@s1.yejr.com ~]# sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=1000000 --mysql-socket=/tmp/mysql.sock --mysql-user=root --mysql-db=test prepare [@s1.yejr.com ~]# sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=1000000 --mysql-socket=/tmp/mysql.sock --mysql-user=root --mysql-db=test run ......... ......... Threads fairness: events (avg/stddev): 10000.0000/0.00 execution time (avg/stddev): 23.0387/0.00 还好,没给大家丢脸,剩下的测试自己完成吧 :) 4. 其他 min_idle_connections = 1 max_idle_connections = 3 |
| 下一个产品 SQL计算timestamp的差值的方法 上一个产品 用于App服务端的MySQL连接池(支持高并发) |