linux下mycat读写分离的配置
为什么要配置读写分离,我想我就不需要再赘述了,那么在mycat下如何进行读写分离的配置,配置之后的实际效率又如何呢?我上午根据文档捣鼓和测试了一下,这里做一下记录:
最开始,我们还是要配置mysql本身的主从复制。
首先,配置主服务器:
1.编辑数据库配置文件,/etc/my.cnf
在[mysqld]下加入代码:
log-bin=mysql-bin
server-id=1
innodb_flush_log_at_trx_commit=1
sync_binlog=1
binlog-do-db=db1
binlog_ignore_db=mysql
server-id 用于区分各自服务器,需要全局唯一。
binlog-ignore_db为忽略的库,即不复制该项设置的库。
binlog-do-db为需要复制的数据库,如果不要,则为复制除了binlog-ignore_db设置的库之外的所有库
2.重启mysql:
service mysqld restart
3.登录mysql: mysql -uroot -p
可以为slave端单独建立一个账户,方便权限管理,然后把这个账户的权限赋予slave端:
mysql>CREATE USER 'user'@ 'X.X.X.X' IDENTIFIED BY 'XXXXXX';
mysql>GRANT REPLICATION SLAVE ON *.* TO 'user'@'X.X.X.X' IDENTIFIED BY 'XXXXXX';
X.X.X.X为slave端的IP地址
4.防止在复制期间,数据库有新数据写入导致数据不同步:
mysql>FLUSH TABLES WITH READ LOCK;
5.把数据库导出并传送到从服务器端:
#mysqldump -u root -pXXXXXX --all-databases --lock-tables=false -- > /root/all.sql
#scp /root/all.sql root@X.X.X.X:/root
X.X.X.X为从服务器IP地址。
6.进入主服务器数据库查看并记录状态,待会儿会用到:
mysql>SHOW MASTER STATUS\G;
记录File和position
7.解锁数据表
mysql>UNLOCK TABLES;
然后配置从服务器:
1.登录从服务器,导入主服务器的数据库:
#mysql -u root -p123456 < /root/all.sql
2.编辑/etc/my.cnf,在[mysqld]下加入:
server-id=11 //服务Id,注意要和master的server-id不一样
log-bin=mysql-bin
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
sync_master_info=1
sync_relay_log=1
sync_relay_log_info=1
3.重启数据库并登录,执行下面的命令
mysql>CHANGE MASTER TO
MASTER_HOST='X.X.X.X', //主服务器的ip地址
MASTER_USER='user', //刚才在主服务器创建的账号和密码
MASTER_PASSWORD='XXXXXX',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000001', //刚才主服务器的file
MASTER_LOG_POS=120, //主服务器的position
MASTER_CONNECT_RETRY=10;
4.启动slave进程:
mysql>START SLAVE;
如果没有报错,应该就设置好了。
小小的优化方案:
虽然MyISAM引擎不支持事务处理和行级锁,但是它的查询效率相比innoDB要好的多,而作为从数据库,并不需要事务处理和行级锁,所以建议把客户端的表重新删除并建立为InnoDB。
启动mycat的读写分离:
配置schema.xml文件:
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="localhost:3306" user="root"
password="XXXXXX">
<!-- can have multi read hosts -->
<readHost host="hostS1" url="X.X.X.X:3306" user="user" password="XXXXXX" />
</writeHost>
</dataHost>
linux下mycat读写分离的配置的更多相关文章
- mycat数据库集群系列之mycat读写分离安装配置
最近在梳理数据库集群的相关操作,现在花点时间整理一下关于mysql数据库集群的操作总结,恰好你又在看这一块,供一份参考.本次系列终结大概包括以下内容:多数据库安装.mycat部署安装.数据库之读写分离 ...
- Mycat读写分离的简单实现
目录 1.Mycat读写分离的配置 1.1.Mycat是什么 1.2.Mycat能干什么 1.2.1.数据库的读写分离 1.2.1.1.数据库读写分离图解 1.2.2.数据库分库分表 1.2.2.1. ...
- Mycat 读写分离
简介 Mycat 是 MySQL中间件,Mycat的原理中最重要的一个动词就是'拦截',它拦截了用户发送过来的SQL语句,首先对SQL语句做了一些特定的分析:如分片分析.路由分析.读写分离分析.缓存分 ...
- Linux下Mycat安装配置和使用
mysql安装下载mysql[百度云]tar -zxvf mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz 解压把mysql文件夹移动到 /usr/local/ 下m ...
- Linux下MyCat和MyCat_web的安装和配置
Linux下MyCat和MyCat_web的安装和配置 Mycat 是一个数据库分库分表中间件 Mycat web 可以对 Mycat进行监控,这里分享一下 Mycat web 的搭建过程 详细内容可 ...
- LVS+MYCAT读写分离+MYSQL同步部署手册(第三版)
1 配置MYSQL主备同步 1.1 测试环境 mysql版本:5.6.24: 操作系统内核版本:Linux-3.13-0-32 主数据库IP:192.168.10.3: 主数据库名:d ...
- Mysql之Mycat读写分离及分库分表
## 什么是mycat ```basic 1.一个彻底开源的,面向企业应用开发的大数据库集群 2.支持事务.ACID.可以替代MySQL的加强版数据库 3.一个可以视为MySQL集群的企业级数据库,用 ...
- LVS+MYCAT+读写分离+MYSQL主备同步部署手册
LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1 配置MYSQL主备同步…. 2 1.1 测试环境… 2 1.2 配置主数据库… 2 1.2.1 ...
- 【转载】LVS+MYCAT+读写分离+MYSQL主备同步部署手册(邢锋)
LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1 配置MYSQL主备同步…. 2 1.1 测试环境… 2 1.2 配置主数据库… 2 1.2.1 ...
随机推荐
- SQL-基础学习1--SELECT,LIMIT,DISTINCT,注释
所使用的数据库资料在:数据库资料 1.1 基础概念 1.数据库(database) 保存有组织的数据的容器(通常是一个文件或一组文件) 注意:常用的mysql,等是数据库管理系统DBMS:由这些软件创 ...
- 邁向IT專家成功之路的三十則鐵律 鐵律二十二:IT人升遷之道-無為
升遷管道是許多人求職時相當重要的考量之一,畢竟人除了很愛錢之外更愛顯赫的頭銜,然而在企業中越顯赫的頭銜,其背後通常有更多的罵名,因為許多人的高官厚爵都是踩著一群人的頭頂爬上去的,隨時哪一天跌了下來,都 ...
- 45个非常有用的Oracle查询语句(转自开源中国社区)
日期/时间 相关查询 获取当前月份的第一天 运行这个命令能快速返回当前月份的第一天.你可以用任何的日期值替换 “SYSDATE”来指定查询的日期. SELECT TRUNC (SYSDATE, 'MO ...
- openssl之BIO系列之12---文件描写叙述符(fd)类型BIO
文件描写叙述符(fd)类型BIO ---依据openssl doc\crypto\bio_s_fd.pod翻译和自己的理解写成 (作者:DragonKing Mailwzhah@263.net 公布于 ...
- vue项目结构设计
感觉这个写的挺详细的,要详细了解可以看这个→ 结构详细介绍 vue项目结构图: 简单介绍: build目录是一些webpack的文件,配置参数什么的,一般不用动 config是vue项目的基本配置文件 ...
- kubernetes滚动更新
系列目录 简介 当kubernetes集群中的某个服务需要升级时,传统的做法是,先将要更新的服务下线,业务停止后再更新版本和配置,然后重新启动并提供服务.如果业务集群规模较大时,这个工作就变成了一个挑 ...
- kubernetes调度之资源耗尽处理配置
系列目录 本篇将介绍如何使用kubelet处理资源耗尽的情况 当可用的计算机资源非常低的时候,kubelet仍然要保证节点的稳定性.当处理不可压缩的计算机资源(比如内存或磁盘空间)时,这尤其重要,当这 ...
- SVProgressHUD 用法一
SVProgressHUD 用法一 SVProgressHUD 是一个第三方的控件,是一个弹出提示层,用来提示 网络加载 或 提示对错,看下面图,你就明白了: 那么,SVProgressHU ...
- vs2005 未能完成操作。未指定的错误
具体解决过程是这样的: 1.先把.vcproj 文件剪切到其他地方 2.打开.sln,报错->点“确定”->再点“确定” 3.把 .vcproj 文件 放回来,在vs2008右边的“解决方 ...
- oracle 10g 数据库与客户端冲突导致实例创建无监听问题
同事在oracle 10g上创建一个实例,快结束时弹出一个错误,提示监听失败之类.查看服务,并无生成监听服务.于是删除重来,一连试了好几次,都是如此. 这真是令人心烦意乱.提示里面有说到端口1521, ...