mysql的负载均衡

    xiaoxiao2021-03-26  24

    mysql的负载均衡 一般用两种方法 1.直接在PHP的mysql类做判断,最简单,不用额外加软件 比如discuz论坛 2:用集群中间件 比如官方的mysql_proxy 还有国产的中间件 amoeba mariadb(mysql的衍生版)的maxscale(兼容mysql) 我这里用官方的mysql_proxy windows: http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-Proxy/mysql-proxy-0.8.5-windows-x86-32bit.zip linux: http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-Proxy/mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz 解压后,该目录包含已经编译好的二进制文件 wget http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-Proxy/mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz tar zxf mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz 1:利用mysql_proxy作为中间件(就是使用数据必须经过我这一层)我用的默认端口4040 ./mysql-proxy-path/bin/mysql-proxy --proxy-backend-addresses=192.168.1.72:3306 --proxy-backend-addresses=192.168.1.74:3306 --daemon 2.用mysql连接上mysql_proxy 不就是了吗 注意账号问题 (我们的mysql_proxy已经连上我们的mysql服务器了) mysql -h 192.168.1.70 -P4040 -uroot -p 3.在连接上之后,做sql查询,却总是往某1台mysql server来发送------负载均衡没体现出来? 不是没有体现出来,而是均衡不是体现在sql语句,一会请求mysqlA服,一会请求mysqlB服.均衡是体现"连接"的均衡上。 mysql_proxy会把连接mysql服务器的tcp/IP连接缓存进连接池,以提高性能.在缓存池里, 缓存的连接大致是平均分配在每台mysql服务器上. 但具体的每一个连接,始终连某台服务器 总结:我是根据我以前的主主复制的基础做的 主主复制的文章:http://blog.csdn.net/qq_36030288/article/details/54862616 大概效果就是这样的啊 创建一张表 在表里填数据 CREATE TABLE `m` ( `id` int(11) NOT NULL AUTO_INCREMENT, `age` tinyint(4) DEFAULT NULL, PRIMARY KEY (`id`) ); 多启动几个mysql_proxy窗口进程测试 分别在不同的窗口填入数据 你会发现(如下面的图片所示) insert into m values(null,1);
    转载请注明原文地址: https://ju.6miu.com/read-659796.html

    最新回复(0)