mysql-proxy mysql主从复制及安装代理服务器

安装主从mysql:

1:例如在两台服务器上安装分别安装mysql     ,   yum -y install mysql

         2:服务器1的ip是192.168.19.105,服务器2的ip是192.168.19.106 其中105选为主、106选为从

        3:安装完2台服务器上的mysql之后并登陆,分别修改mysql登陆的ip权限

            mysql -uroot -p 回车 输入密码 进入mysql客户端

      命令:use mysql;回车 

       命令:select host,user,password form user;查看用户主机,

    命令:delete from user where password =""; 删除密码为空的数据。

命令:update user set host ="%"; %通配符表示所有机器都可以登陆

 4:修改105mysql的配置文件 /etc/my.cnf 添加 server-id=10,log-bin=mysql-bin。

      修改106mysql的配置文件 /etc/my.cnf 添加 server-id=1,log-bin=mysql-bin。

      注意:server-id 一定不能一样。

5:修改完后刷新权限:flush privileges;

      命令:show variables like 'server_id';查看server-id的值

       命令:show master status;查看主的状态,有文件名:mysql-bin.000003,位置:106.

命令:配置从服务器:
change master to
master_host='192.168.19.105',
master_user='root',
master_password='root',
master_log_file='mysql-bin.000003',
master_log_pos=106;
启动slave: start slave;
查看salve状态:show slave status\G;其中Slave_IO_Running与Slave_SQL_Running的值都必须为你YES,才表明状态正常。
测试主从复制:
创建数据库:create database testdata;
创建表:create table testtable (id int(3),name char(10));
        插入数据:insert into testtable values(1,"testName");

分别登陆mysql客户端 select * from testable;进行查看

6:搭建读写分离:服务器:192.168.19.107

   1:mysql-proxy
2:检查系统所需软件包
        通过:rpm -qa|grep name 的方式验证以下软件是否已全部安装。
  gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libmcrypt* libtool* flex* libevent* glib readline*
若缺少相关的软件包,可以通用yum -y install 方式在线安装,或者直接从系统安装光盘中找到并通过rpm -ivh方式安装。


3:编译安装lua
mysql-proxy的读写分离主要通过rw-splitting.lua脚本实现的,因此需要安装lua;
linux自带lua,如果没有则要自己安装。
采用源码安装:
cd /opt/install
wget http:/www.lua.org/ftp/lua-5.1.4.tar.gz
tar -zxvf lua-5.1.4.tar.gz
cd lua-5.1.4
vi src/Makefile在CFLAGS=-O2-Wall $(MYCFLGS)这一行记录里加上 -fPIC,更改为CFLAGS=-O2-Wall -fPIC $(MYCFLAGS)来避免编译过程出错。
make linux     make install


查看linux内核:uname -a 命令

      命令:find share/   rw-* 查找

    其他:share/doc/mysql-proxy/rw-splitting.lua 脚本路径;

     下载mysql-proxy  进入目录 创建scripts 目录。并复制 rw-splitting.lua 到当前目录。
    进入bin目录 ./mysql-proxy 启动代理。

状态为:2016-09-05 12:30:04: (critical) plugin proxy 0.8.4 started

 7:配置代理

查看帮助文档:./mysql-proxy --help-all


./mysql-proxy --proxy-backend-addresses=192.168.19.105   --proxy-read-only-backend-addresses=192.168.19.106  --proxy-lua-script=/opt/mysql-proxy/scripts/rw-splitting.lua                                      回车:启动成功。


链接成功;

测试读写分离:

1:停止主从复制。 stop slave;  关闭从

从代理插入一条数据。insert into testtable values(3,"test02");


查询:

测试有数据。

查询从是否有数据


无有。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL主从复制MySQL内建的复制功能,用于构建基于MySQL的大规模、高性能应用。它的主要目的是实现高性能、高可用性、可扩展性、灾难恢复、备份以及数据仓库等功能。主从复制的常见用途包括以下几种: 1. 数据备份和灾难恢复:通过将主服务器上的数据复制到一个或多个从服务器上,可以实现数据的备份和灾难恢复。当主服务器发生故障时,可以快速切换到从服务器来保证系统的可用性。 2. 负载均衡:通过将读操作分发到多个从服务器上,可以减轻主服务器的负载,提高系统的性能和可扩展性。 3. 数据分析和报表生成:通过将主服务器上的数据复制到一个或多个从服务器上,可以在从服务器上进行数据分析和报表生成,而不会影响主服务器的性能。 4. 数据分发:通过将主服务器上的数据复制到多个从服务器上,可以将数据分发到不同的地理位置或不同的应用程序中,以满足不同的需求。 在MySQL主从复制中,可以使用一些工具来简化配置和管理,比如MySQL-ProxyMySQL-ProxyMySQL官方开源项目,通过其自带的lua脚本进行SQL判断,但MySQL官方并不建议将MySQL-Proxy用于生产环境。此外,还需要在主服务器和从服务器上进行一些配置,如设置server-id、开启二进制日志、允许从服务器更新二进制日志等。还需要为从服务器授权复制权限,并通过show master status命令查看主服务器的状态信息。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [MySQL主从复制详细介绍](https://blog.csdn.net/qq_44590469/article/details/126340217)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [MySQL主从复制](https://blog.csdn.net/m0_62473957/article/details/124140928)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值