我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql系列之8------读写分离

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql系列之8------读写分离

一、前言:读写分离的基本原理

       mysql的读写分离的基本原理是:让master(主数据库)来响应事务性操作,

让slave(从数据库)来响应select非事务性操作,

然后再采用主从复制来把master上的事务性操作同步到slave数据库中。实现简单的负载均衡。


二、前期准备工作:

 1、准备两台服务器,我这里准备的是192.168.4.122(主),192.168.4.123(从)

      另外准备一台服务器安装中间件服务器(192.168.4.125)

 2、首先把两台服务器做好主从同步。

 3、准备读写分离的软件:maxscale-2.1.2-1(中间件)

三、maxscale安装和配置(4.125)

 1、安装:rpm -ivh maxscale-2.1.2-1.rhel.7.x86_64.rpm 

 2、修改配置文件:vim /etc/maxscale.cnf

     54-60行注释掉,87-91注释掉

      10   threads=auto

      18 [server1]

       19 type=server

       20 address=192.168.4.122

       21 port=3306

       22 protocol=MySQLBackend

       23 [server2]

       24 type=server

       25 address=192.168.4.123

       26 port=3306

       27 protocol=MySQLBackend

      35 [MySQL Monitor]    //监视数据库的配置

       36 type=monitor

       37 module=mysqlmon

       38 servers=server1, server2

       39 user=scalemon  //监控

       40 passwd=123456

       41 monitor_interval=10000

     63 [Read-Write Service]    //配置查询读写权限的帐号

       64 type=service

       65 router=readwritesplit

       66 servers=server1, server2

       67 user=maxscale //接收客户端连接请求时,连接的用户名和密码在数据库服务上是否存在

       68 passwd=123456

       69 max_slave_connections=100%

       104 port=4010

 3、在主库(4.122)上添加上面需要的两个授权用户

   grant replication slave,replication client on *.* to scalemon@'%' identified by "123456";

   grant select on mysql.* to maxscale@'%' identified by "123456";

 4、启动服务:maxscale -f /etc/maxscale.cnf

      停止服务:ps -C   maxscale(查进程)        kill -9 13109(杀进程)

     查看服务是否启动:netstat -natulp | grep maxscale

 5、在主库(4.122)上添加用于客户端连接服务器的用户名

     grant  all  on  *.*   to student@'%' identified by '123456';

 6、在4.125上:maxadmin -P4010 -uadmin -pmariadb //访问控制后台

    list servers    //显示所有服务器主机,可以看到服务器的运行信息

 7、用宿主机做客户端连接中间件的登陆方法:

    mysql -h292.168.4.125 -P4006 -utest -p123456

 8、测试方法:当从挂掉后,客户端可写可读;

     但是当主挂掉后,客户端不可读不可写

























    



免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql系列之8------读写分离

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL-mycat读写分离

Mycat 需要安装JDK 1.7 或者以上版本第一步:下载jdk-8u131-linux-x64.tar.gz文件 http://haixi.sfkcn.com:8080/201704/tools/jdk-linux-x64.tar.gz第二步:新建/usr
MySQL-mycat读写分离
2021-04-03

mysql如何读写分离

mysql 读写分离是一种数据库架构,将数据库分为主库和从库,主库负责写入操作,从库负责读操作,以降低主库负载和提高并发读能力。实现 mysql 读写分离需要:搭建主从复制环境、修改应用程序配置、使用代理或中间件。读写分离的优势包括:降低主
mysql如何读写分离
2024-04-14

mysql读写分离原理

mysql 读写分离通过将读取和写入操作分离到不同的服务器组来提高性能和可用性,包括主服务器处理写入操作,从服务器处理读取操作,这可以减轻主服务器负载,提高写入性能,确保读取持续可用,增强可扩展性,降低成本。MySQL 读写分离原理MyS
mysql读写分离原理
2024-08-02

MySQL/MariaDB读写分离配置

实现数据库读写分离技术是有很多方法的,在这里我就用一个比较简单的mysql-proxy这个中间件来实现数据库的读写分离; 使用mysql-proxy实现mysql的读写分离,mysql-proxy实际上是作为后端mysql主从服务器的代理,它直接接受客户端的请
MySQL/MariaDB读写分离配置
2021-01-12

Linux MySQL的读写分离实践

在Linux环境下实现MySQL的读写分离,一般可以通过搭建主从复制的方式来实现。主从复制是指在一个MySQL数据库中,将数据同步到多个数据库实例上,其中一个实例作为主数据库负责写操作,其他实例作为从数据库负责读操作。以下是实现MySQL
Linux MySQL的读写分离实践
2024-08-16

编程热搜

目录