18、mysql读写分离实现的方法
18.1、mysql读写分离实现的方法:
1、通过程序实现读写分离:
php和java程序实现读写分离(性能,效率最佳,推荐);
php和java程序都可以通过设置多个连接文件轻松实现对数据库的读写分离,即当
select是,就去连接读库的连接文件,当时update,insert,delete时就连接写库的连接
文件;
2、通过软件实现读写分离:
mysql-proxy等代理软件也可以实现读写分离功能,但是最常用好用的还是程序实现
读写分离;
3、开发dbproxy;
18.2、读写分离注意的事项:
当配置好mysql的主从复制后,所有对数据库内容的更新就必须在主服务器上进行,因为
数据的复制时单项的,只有在主库上更新,才能避免用户对主服务器上数据库内容的更新与
对从服务器上数据库内容的更新一致,而不会发生冲突;
18.3、读写分离实现策略:
1、读写分离策略:
|
写库 |
权限 |
密码 |
端口号 |
ip地址 |
|
web |
select,insert,delete,updata同步主库的mysql库到从库; |
123456 |
3306 |
172.16.1.41 |
|
读库 |
||||
|
web |
收回insert,delete,updata权限(主从切换不方便);或者不收回权限,修改配置参数为read-only; |
123456 |
3306 |
172.16.1.42 |
2、注意:
(1)如果主库宕机了修改需要去除从库my.cnf配置文件中的read-only参数;
(2)read-only参数对超级用户和‘all privileges’权限的用户无效;
(3)启动的时候加--read-only参数和在my.cnf中配置的效果是相同的;
3、写主库的授权命令:
grant selelct,insert,update,delete on blog.* to 'blog'@'172.16.1.%' identified by '123456';
4、读从库的授权命令
grant select on blog.* to 'blog'@'172.16.1.%' identified by '123456';
5、在主库上设置主从同步时同步和不同步的库:
#binlog-do-db = test
#允许同步的数据库,默认允许所有的库同步;
#binlog-ignore-db = information_schema
#binlog-ignore-db = performance_schema
#主从同步时设置不需要同步的库;
18、mysql读写分离实现的方法的更多相关文章
- mysql 读写分离(手动和自动方法)
使用sqlalchemy 使mysq自动读写分离: 代码如下: from flask import Flask from flask_sqlalchemy import SQLAlchemy, Sig ...
- Mysql-Proxy实现mysql读写分离、负载均衡 (转)
在mysql中实现读写分离.负载均衡,用Mysql-Proxy是很容易的事,不过大型处理对于性能方面还有待提高,主要配置步骤如下: 1.1. mysql-proxy安装 MySQL Proxy就是这么 ...
- [mysql]linux mysql 读写分离
[mysql]linux mysql 读写分离 作者:flymaster qq:908601287 blog:http://www.cnblogs.com/flymaster500/ 1.简介 当今M ...
- PHP代码实现MySQL读写分离
关于MySQL的读写分离有几种方法:中间件,Mysql驱动层,代码控制 关于中间件和Mysql驱动层实现Mysql读写分离的方法,今天暂不做研究, 这里主要写一点简单的代码来实现由PHP代码控制MyS ...
- MySQL读写分离技术
1.简介 当今MySQL使用相当广泛,随着用户的增多以及数据量的增大,高并发随之而来.然而我们有很多办法可以缓解数据库的压力.分布式数据库.负载均衡.读写分离.增加缓存服务器等等.这里我们将采用读写分 ...
- [记录]MySQL读写分离(Atlas和MySQL-proxy)
MySQL读写分离(Atlas和MySQL-proxy) 一.阿里云使用Atlas从外网访问MySQL(RDS) (同样的方式修改配置文件可以实现代理也可以实现读写分离,具体看使用场景) 1.在跳板机 ...
- docker环境 mysql读写分离 mycat maxscale
#mysql读写分离测试 环境centos 7.4 ,docker 17.12 ,docker-compose mysql 5.7 主从 mycat 1.6 读写分离 maxscale 2.2.4 读 ...
- mysql读写分离 主从同步
MySQL主从复制与读写分离的实现 转载 2013年01月17日 18:20:12 MySQL主从复制与读写分离 MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy) ...
- Mysql读写分离-Amoeba Proxy
参考:http://www.linuxidc.com/Linux/2015-10/124115.htm 一个完整的MySQL读写分离环境包括以下几个部分: 应用程序client database pr ...
随机推荐
- [DB] Spark Core (1)
生态 Spark Core:最重要,其中最重要的是RDD(弹性分布式数据集) Spark SQL Spark Streaming Spark MLLib:机器学习算法 Spark Graphx:图计算 ...
- Linux_源码安装包管理理论概述
一.源码包基本概述 1️⃣:源码包的编译用到了linux系统里的编译器,通常源码包都是用C语言开发的,这也是因为C语言为linux上最标准的程序语言 2️⃣:Linux上的C语言编译器叫做gcc,利用 ...
- 1.1Ubuntu安装
在虚拟机中安装 Ubuntu 步骤 安装前的准备和基本安装 设置语言环境 安装常用软件 1. 安装前的准备和基本安装 1.1 安装前的准备 访问 http://cn.ubuntu.com/downlo ...
- SpringBoot2 单元测试类的报错问题
问题描述 执行 SpringBoot2 测试时报错,提示找不到 SsmApplicationTests 主类 原因分析 Junit5 升级了框架没有兼容 问题解决 <!--测试模块--> ...
- RabbitMQ 集群原理
RabbitMQ默认集群原理 rabbitmq 本身是基于erlang编写,erlang语言天生具备分布式的特性(通过同步Erlang集群各节点的erlang cookie实现),RabbiteMQ天 ...
- properties模板
jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/ssmdemo1?useSSL=true&useUn ...
- kafka实战教程(python操作kafka),kafka配置文件详解
kafka实战教程(python操作kafka),kafka配置文件详解 应用往Kafka写数据的原因有很多:用户行为分析.日志存储.异步通信等.多样化的使用场景带来了多样化的需求:消息是否能丢失?是 ...
- Docker学习(5) 在docker中部署静态网站
在容器中部署静态网站 设置容器的端口映射 在容器中部署静态网站 - Nginx部署流程 1 创建映射80端口的交互式容器 2 安装Nginx 3 安装文本编辑器vim 4 创建静态页面 5 修改N ...
- CUDA功能和通用功能
CUDA功能和通用功能 本文描述了类似于CUDA ufunc的对象. 为了支持CUDA程序的编程模式,CUDA Vectorize和GUVectorize无法产生常规的ufunc.而是返回类似ufun ...
- 尚硅谷Java——宋红康笔记【day25-day29】
day25 Map接口 一.Map的实现类的结构: |----Map:双列数据,存储key-value对的数据 ---类似于高中的函数:y = f(x) |----HashMap:作为Map的主要实现 ...